summaryrefslogtreecommitdiff
path: root/schema/interface_definition.rnc
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2021-08-12 11:09:58 -0500
committerJohn Estabrook <jestabro@vyos.io>2021-08-12 11:09:58 -0500
commitd19b35d668184fdac00a8ef56ff58c0748f22816 (patch)
tree1a5de49dcba9fe12911322809715e7db399e05a5 /schema/interface_definition.rnc
parente75db1c0c23bb8615dea92316148871edd18749e (diff)
downloadvyos-1x-d19b35d668184fdac00a8ef56ff58c0748f22816.tar.gz
vyos-1x-d19b35d668184fdac00a8ef56ff58c0748f22816.zip
T3574: add constraintGroup for combining validators with logical AND
(cherry picked from commit 591b8bcadd8b6bbd46c61484193d2bf7e16bd1ae commit 31553283aaa929da63147082e85513e8d4dacf0e commit 59a4aadfe419eca16e6288b37d6c51acd9789903)
Diffstat (limited to 'schema/interface_definition.rnc')
-rw-r--r--schema/interface_definition.rnc11
1 files changed, 11 insertions, 0 deletions
diff --git a/schema/interface_definition.rnc b/schema/interface_definition.rnc
index 6647f5e11..d7fc4966c 100644
--- a/schema/interface_definition.rnc
+++ b/schema/interface_definition.rnc
@@ -93,6 +93,7 @@ properties = element properties
{
help? &
constraint? &
+ constraintGroup* &
valueHelp* &
(element constraintErrorMessage { text })? &
completionHelp* &
@@ -140,6 +141,16 @@ constraint = element constraint
validator )+
}
+# Tag and leaf nodes may have constraintGroups on their names and
+# values (respectively).
+# When multiple constraints are listed within a group, they work as
+# logical AND
+constraintGroup = element constraintGroup
+{
+ ( (element regex { text }) |
+ validator )+
+}
+
# A constraint may also use an external validator rather than regex
validator = element validator
{