diff options
| -rw-r--r-- | schema/interface_definition.rnc | 12 | ||||
| -rw-r--r-- | schema/interface_definition.rng | 45 | 
2 files changed, 51 insertions, 6 deletions
| diff --git a/schema/interface_definition.rnc b/schema/interface_definition.rnc index 758d9ce1c..9434f5d18 100644 --- a/schema/interface_definition.rnc +++ b/schema/interface_definition.rnc @@ -97,6 +97,18 @@ properties = element properties      valueHelp* &      (element constraintErrorMessage { text })? &      completionHelp* & +     +    # "docs" is used to store documentation for a node in a structured format +    # It is used to generate documentation for the CLI and Web docs +    (element docs { +        (element headline { text })? & +        (element text { text })? & +        (element usageExample { text })? & +        (element hints { +            attribute type { text }, +            text +        })* +    })? &      # These are meaningful only for leaf nodes      (element valueless { empty })? & diff --git a/schema/interface_definition.rng b/schema/interface_definition.rng index 94a828c3b..e3d582452 100644 --- a/schema/interface_definition.rng +++ b/schema/interface_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 @@ -142,7 +142,7 @@      Nodes may have properties      For simplicity, any property is allowed in any node,      but whether they are used or not is implementation-defined - +          Leaf nodes may differ in number of values that can be      associated with them.      By default, a leaf node can have only one value. @@ -150,7 +150,7 @@      "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.    --> @@ -178,6 +178,39 @@            <ref name="completionHelp"/>          </zeroOrMore>          <optional> +          <!-- +            "docs" is used to store documentation for a node in a structured format +            It is used to generate documentation for the CLI and Web docs +          --> +          <group> +            <element name="docs"> +              <interleave> +                <optional> +                  <element name="headline"> +                    <text/> +                  </element> +                </optional> +                <optional> +                  <element name="text"> +                    <text/> +                  </element> +                </optional> +                <optional> +                  <element name="usageExample"> +                    <text/> +                  </element> +                </optional> +                <zeroOrMore> +                  <element name="hints"> +                    <attribute name="type"/> +                    <text/> +                  </element> +                </zeroOrMore> +              </interleave> +            </element> +          </group> +        </optional> +        <optional>            <!-- These are meaningful only for leaf nodes -->            <group>              <element name="valueless"> | 
