diff options
Diffstat (limited to 'data/schemata/interface_definition.rnc')
-rw-r--r-- | data/schemata/interface_definition.rnc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/data/schemata/interface_definition.rnc b/data/schemata/interface_definition.rnc index 3b3fa1e..48aae57 100644 --- a/data/schemata/interface_definition.rnc +++ b/data/schemata/interface_definition.rnc @@ -1,6 +1,6 @@ # interface_definition.rnc: VyConf reference tree XML grammar # -# Copyright (C) 2014 VyOS Development Group <maintainers@vyos.net> +# 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 @@ -75,18 +75,23 @@ children = element children # "valueless" means it can have no values at all. # "hidden" means node visibility can be toggled, eg 'dangerous' commands, # "secret" allows a node to hide its value from unprivileged users. +# +# "priority" is used to influence node processing order for nodes +# with exact same dependencies and in compatibility modes. properties = element properties { help? & constraint? & valueHelp* & (element constraintErrorMessage { text })? & + completionHelp* & # These are meaningful only for leaf nodes (element valueless { empty })? & (element multi { empty })? & (element hidden { empty })? & (element secret { empty })? & + (element priority { text })? & # These are meaningful only for tag nodes (element keepChildOrder { empty })? @@ -134,3 +139,16 @@ valueHelp = element valueHelp element format { text } & element description { text } } + +# 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> +completionHelp = element completionHelp +{ + (element list { text })* & + (element path { text })* & + (element script { text })* +} |