diff --git a/src/common/checkers.xsl b/src/common/checkers.xsl
index 851b924..c75f412 100644
--- a/src/common/checkers.xsl
+++ b/src/common/checkers.xsl
@@ -540,6 +540,28 @@
$listOfNotDefinedNamespaces"/>
+
+
+
+ This function checks whether an enumeration has a constraint level property (tag) assigned
+ and if its value is either "permissive" or "restrictive".
+
+ The function returns a boolean result:
+ - `true()` if tag exists with the expected property and value.
+ - `false()` if no matching tag is found or if the enumeration has no tags.
+
+
+
+
+
+
+
+
+
+
diff --git a/src/html-conventions-lib/dependency-html-conventions.xsl b/src/html-conventions-lib/dependency-html-conventions.xsl
index 84473a1..acaabda 100644
--- a/src/html-conventions-lib/dependency-html-conventions.xsl
+++ b/src/html-conventions-lib/dependency-html-conventions.xsl
@@ -72,9 +72,6 @@
-
-
-
diff --git a/src/html-conventions-lib/enumeration-html-conventions.xsl b/src/html-conventions-lib/enumeration-html-conventions.xsl
index 38b650f..258270f 100644
--- a/src/html-conventions-lib/enumeration-html-conventions.xsl
+++ b/src/html-conventions-lib/enumeration-html-conventions.xsl
@@ -103,6 +103,10 @@
+
+
+
+
@@ -202,6 +206,30 @@
"
/>
+
+
+ [enumeration-constraint-level-4] he enumeration $value$ does not have a correct constraint level (either permissive or restrictive) set as a tag
+ with the $cvConstraintLevelProperty$ key. The permissive level will be used as a fallback value.
+
+
+
+
+
+
+
diff --git a/src/owl-core-lib/descriptors-owl-core.xsl b/src/owl-core-lib/descriptors-owl-core.xsl
index 328dd2c..9c169b2 100644
--- a/src/owl-core-lib/descriptors-owl-core.xsl
+++ b/src/owl-core-lib/descriptors-owl-core.xsl
@@ -99,7 +99,7 @@
-
+
diff --git a/src/shacl-shape-lib/elements-shacl-shape.xsl b/src/shacl-shape-lib/elements-shacl-shape.xsl
index 93384ff..e47cb36 100644
--- a/src/shacl-shape-lib/elements-shacl-shape.xsl
+++ b/src/shacl-shape-lib/elements-shacl-shape.xsl
@@ -367,11 +367,122 @@
+
+
+ Rule D.06. Enumeration item — Specify a restrictive SHACL NodeShape for items of an enumeration
+ for each UML Enumeration in the defining mode (based on the constraint level set for the UML Enumeration
+ as defined in rule:enumeration-constraint-level). The URIs of the node shape is deterministically generated
+ from the UML Enumeration name. Set a constraint for the enumeration item belonging to a concept scheme
+ represented by the enumeration URI.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Rule R.13. Dependency range shape — Within the SHACL PropertyShape corresponding to a dependency relation
+ linked to a given source UML Class, constraint the range of the dependency.
+ Specify the suitable constraint based on the constraint level set for the UML Enumeration
+
+ * permissive: set skos:Concept as the expected type of an enumeration item
+
+ * restrictive: refer to a NodeShape for an enumeration item that further restricts allowed values
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- This will override the common selector when applying templates
+ Applying shape layer rules to Enumeration dependencies and items
-
+
+
+
+
+
+
+
+
+
+
This will override the common selector when applying templates
diff --git a/test/ePO-default-config/config-parameters.xsl b/test/ePO-default-config/config-parameters.xsl
index 0d23f1c..b8540b9 100644
--- a/test/ePO-default-config/config-parameters.xsl
+++ b/test/ePO-default-config/config-parameters.xsl
@@ -70,6 +70,9 @@
+
+
+
@@ -85,6 +88,9 @@
+
+
+
diff --git a/test/testData/ePO-task1-test-status-filtering.xml b/test/testData/ePO-core-4.2.0.xml
similarity index 99%
rename from test/testData/ePO-task1-test-status-filtering.xml
rename to test/testData/ePO-core-4.2.0.xml
index e319d2e..edaff25 100644
--- a/test/testData/ePO-task1-test-status-filtering.xml
+++ b/test/testData/ePO-core-4.2.0.xml
@@ -5867,13 +5867,22 @@
-
+
+
+
+
+
-
+
+
+
+
+
+
@@ -5889,7 +5898,7 @@
-
+
@@ -7591,28 +7600,29 @@
-
+
-
+
-
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -12698,7 +12708,7 @@
-
+
@@ -14320,7 +14330,7 @@
-
+
@@ -14351,7 +14361,7 @@
-
+
@@ -14407,8 +14417,8 @@
-
-
+
+
@@ -16200,7 +16210,7 @@
-
+
@@ -26189,6 +26199,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -26199,7 +26256,9 @@
-
+
+
+
@@ -26266,9 +26325,73 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -26486,7 +26609,7 @@
-
+
@@ -26710,7 +26833,9 @@
-
+
+
+
@@ -26926,7 +27051,9 @@
-
+
+
+
@@ -37016,7 +37143,7 @@
-
+
@@ -37086,7 +37213,7 @@
-
+
@@ -38500,7 +38627,7 @@
-
+
@@ -47942,7 +48069,7 @@
-
+
@@ -51449,7 +51576,7 @@
-
+
@@ -52508,6 +52635,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -52877,13 +53015,13 @@
-
+
-
+
-
+
@@ -52936,10 +53074,10 @@
-
-
-
-
+
+
+
+
@@ -54461,12 +54599,13 @@
-
+
-
+
+
@@ -54475,7 +54614,7 @@
-
+
@@ -54483,7 +54622,7 @@
-
+
@@ -54494,7 +54633,7 @@
-
+
@@ -55436,7 +55575,11 @@
+
+
+
+
\ No newline at end of file
diff --git a/test/unitTests/test-common/test-checkers.xspec b/test/unitTests/test-common/test-checkers.xspec
index c54ae9a..8a1cb0c 100644
--- a/test/unitTests/test-common/test-checkers.xspec
+++ b/test/unitTests/test-common/test-checkers.xspec
@@ -491,5 +491,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/unitTests/test-common/test-utils.xspec b/test/unitTests/test-common/test-utils.xspec
index c75c3d5..03b9cb4 100644
--- a/test/unitTests/test-common/test-utils.xspec
+++ b/test/unitTests/test-common/test-utils.xspec
@@ -350,7 +350,7 @@
-
@@ -358,7 +358,7 @@
-
@@ -366,7 +366,7 @@
-
@@ -374,7 +374,7 @@
-
diff --git a/test/unitTests/test-html-conventions-lib/test-enumeration-html-conventions.xspec b/test/unitTests/test-html-conventions-lib/test-enumeration-html-conventions.xspec
index 9d0c717..8034714 100644
--- a/test/unitTests/test-html-conventions-lib/test-enumeration-html-conventions.xspec
+++ b/test/unitTests/test-html-conventions-lib/test-enumeration-html-conventions.xspec
@@ -75,6 +75,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/unitTests/test-shacl-shape-lib/test-elements-shacl-shape.xspec b/test/unitTests/test-shacl-shape-lib/test-elements-shacl-shape.xspec
index 4698e50..363aef1 100644
--- a/test/unitTests/test-shacl-shape-lib/test-elements-shacl-shape.xspec
+++ b/test/unitTests/test-shacl-shape-lib/test-elements-shacl-shape.xspec
@@ -15,6 +15,8 @@
stylesheet="../../../src/shacl-shape-lib/elements-shacl-shape.xsl">
+
+
@@ -155,4 +157,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/unitTests/test-shacl-shape-lib/test-elements-shacl-shapes-no-generation-enumerations.xspec b/test/unitTests/test-shacl-shape-lib/test-elements-shacl-shapes-no-generation-enumerations.xspec
new file mode 100644
index 0000000..922f405
--- /dev/null
+++ b/test/unitTests/test-shacl-shape-lib/test-elements-shacl-shapes-no-generation-enumerations.xspec
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+