diff options
author | Taniadz <tdziubenko@ukr.net> | 2017-10-11 15:27:22 +0300 |
---|---|---|
committer | Taniadz <tdziubenko@ukr.net> | 2017-10-11 15:27:22 +0300 |
commit | 59c1e9cec9c457917d0c7a7449ca1d5f31d37c05 (patch) | |
tree | 67deeace1ebf296d7f79da112c960f9dd37ceddf | |
parent | 63060ded3ed851d9ecc30f24e3b5cefde81c67d2 (diff) | |
download | vyconf-59c1e9cec9c457917d0c7a7449ca1d5f31d37c05.tar.gz vyconf-59c1e9cec9c457917d0c7a7449ca1d5f31d37c05.zip |
T413: Make a schema for op mode (delete ownerAttr)
-rw-r--r-- | data/schemata/op-mode-definition.rnc | 11 | ||||
-rw-r--r-- | data/schemata/op-mode-definition.rng | 43 |
2 files changed, 14 insertions, 40 deletions
diff --git a/data/schemata/op-mode-definition.rnc b/data/schemata/op-mode-definition.rnc index 6b55997..0127612 100644 --- a/data/schemata/op-mode-definition.rnc +++ b/data/schemata/op-mode-definition.rnc @@ -32,7 +32,7 @@ start = element interfaceDefinition # other nodes and must not have values node = element node { - (ownerAttr? & nodeNameAttr), + nodeNameAttr, (properties? & children? & command?) } @@ -42,7 +42,7 @@ node = element node # They must not contain other tag nodes tagNode = element tagNode { - (ownerAttr? & nodeNameAttr), + nodeNameAttr, (properties? & children & command?) } @@ -79,12 +79,7 @@ nodeNameAttr = attribute name text } -# Ordinary nodes and tag nodes can have "owner" attribute. -# Owner is the component that is notified when node changes. -ownerAttr = attribute owner -{ - text -} + diff --git a/data/schemata/op-mode-definition.rng b/data/schemata/op-mode-definition.rng index 26256bd..98a231e 100644 --- a/data/schemata/op-mode-definition.rng +++ b/data/schemata/op-mode-definition.rng @@ -2,19 +2,19 @@ <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <!-- interface_definition.rnc: VyConf reference tree XML grammar - + Copyright (C) 2014. 2017 VyOS maintainers and contributors <maintainers@vyos.net> - + This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. - + This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - + You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 @@ -40,21 +40,16 @@ --> <define name="node"> <element name="node"> - <interleave> - <optional> - <ref name="ownerAttr"/> - </optional> - <ref name="nodeNameAttr"/> - </interleave> + <ref name="nodeNameAttr"/> <interleave> <optional> <ref name="properties"/> </optional> <optional> - <ref name="command"/> + <ref name="children"/> </optional> <optional> - <ref name="children"/> + <ref name="command"/> </optional> </interleave> </element> @@ -67,33 +62,27 @@ --> <define name="tagNode"> <element name="tagNode"> - <interleave> - <optional> - <ref name="ownerAttr"/> - </optional> - <ref name="nodeNameAttr"/> - </interleave> + <ref name="nodeNameAttr"/> <interleave> <optional> <ref name="properties"/> </optional> + <ref name="children"/> <optional> <ref name="command"/> </optional> - <ref name="children"/> </interleave> </element> </define> <!-- Leaf nodes are terminal configuration nodes that can't have children, but can have values. - Leaf node may contain one or more valueConstraint tags --> <define name="leafNode"> <element name="leafNode"> <ref name="nodeNameAttr"/> - <ref name="properties"/> <ref name="command"/> + <ref name="properties"/> </element> </define> <!-- Normal and tag nodes may have children --> @@ -112,7 +101,6 @@ Nodes may have properties For simplicity, any property is allowed in any node, but whether they are used or not is implementation-defined - --> <define name="properties"> <element name="properties"> @@ -130,30 +118,21 @@ <define name="nodeNameAttr"> <attribute name="name"/> </define> - <!-- - Ordinary nodes and tag nodes can have "owner" attribute. - Owner is the component that is notified when node changes. - --> - <define name="ownerAttr"> - <attribute name="owner"/> - </define> - <!-- help tags contains brief description of the purpose of the node --> <define name="help"> <element name="help"> <text/> </element> </define> - <define name="command"> <element name="command"> <text/> </element> </define> - <!-- completionHelp tags contain information about allowed values of a node that is used for generating tab completion in the CLI frontend and drop-down lists in GUI frontends + It is only meaninful for leaf nodes Allowed values can be given as a fixed list of values (e.g. <list>foo bar baz</list>), as a configuration path (e.g. <path>interfaces ethernet</path>), or as a path to a script file that generates the list (e.g. <script>/usr/lib/foo/list-things</script> |