summaryrefslogtreecommitdiff
path: root/schema
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@sentrium.io>2020-01-10 11:52:26 -0600
committerJohn Estabrook <jestabro@sentrium.io>2020-01-13 11:18:28 -0600
commit5849ba88a1a20e4d3584843e0be46e456c5f7980 (patch)
tree0908035159b1d5092db78eb36bd2cb80017258da /schema
parent4fa271c1d9e5011b25a18cf60c27d1017382eb7d (diff)
downloadvyos-1x-5849ba88a1a20e4d3584843e0be46e456c5f7980.tar.gz
vyos-1x-5849ba88a1a20e4d3584843e0be46e456c5f7980.zip
xml: T1962: Add syntaxVersion to schema
Diffstat (limited to 'schema')
-rw-r--r--schema/interface_definition.rnc17
-rw-r--r--schema/interface_definition.rng18
2 files changed, 35 insertions, 0 deletions
diff --git a/schema/interface_definition.rnc b/schema/interface_definition.rnc
index 02175fec8..0ce8226cd 100644
--- a/schema/interface_definition.rnc
+++ b/schema/interface_definition.rnc
@@ -24,9 +24,16 @@
# Interface definition starts with interfaceDefinition tag that may contain node tags
start = element interfaceDefinition
{
+ syntaxVersion*,
node*
}
+# interfaceDefinition may contain syntax version attribute lists.
+syntaxVersion = element syntaxVersion
+{
+ (componentAttr & versionAttr)
+}
+
# node tag may contain node, leafNode, or tagNode tags
# Those are intermediate configuration nodes that may only contain
# other nodes and must not have values
@@ -97,6 +104,16 @@ properties = element properties
(element keepChildOrder { empty })?
}
+componentAttr = attribute component
+{
+ text
+}
+
+versionAttr = attribute version
+{
+ text
+}
+
# All nodes must have "name" attribute
nodeNameAttr = attribute name
{
diff --git a/schema/interface_definition.rng b/schema/interface_definition.rng
index 195ef27f4..bfd8d376f 100644
--- a/schema/interface_definition.rng
+++ b/schema/interface_definition.rng
@@ -29,10 +29,22 @@
<start>
<element name="interfaceDefinition">
<zeroOrMore>
+ <ref name="syntaxVersion"/>
+ </zeroOrMore>
+ <zeroOrMore>
<ref name="node"/>
</zeroOrMore>
</element>
</start>
+ <!-- interfaceDefinition may contain syntax version attribute lists. -->
+ <define name="syntaxVersion">
+ <element name="syntaxVersion">
+ <interleave>
+ <ref name="componentAttr"/>
+ <ref name="versionAttr"/>
+ </interleave>
+ </element>
+ </define>
<!--
node tag may contain node, leafNode, or tagNode tags
Those are intermediate configuration nodes that may only contain
@@ -184,6 +196,12 @@
</interleave>
</element>
</define>
+ <define name="componentAttr">
+ <attribute name="component"/>
+ </define>
+ <define name="versionAttr">
+ <attribute name="version"/>
+ </define>
<!-- All nodes must have "name" attribute -->
<define name="nodeNameAttr">
<attribute name="name"/>