summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2017-01-04 18:18:56 +0700
committerDaniil Baturin <daniil@baturin.org>2017-01-04 18:18:56 +0700
commit23076d3265dbfb17fe30f70aaaf74ca0a9c6cc6b (patch)
tree39ebd4499fa346daf4c828b36ffeddf1388bf068 /data
parente879c065272dc0719c0f2f91db642c315447c781 (diff)
downloadvyconf-23076d3265dbfb17fe30f70aaaf74ca0a9c6cc6b.tar.gz
vyconf-23076d3265dbfb17fe30f70aaaf74ca0a9c6cc6b.zip
Add an RNG XML version of the component definition schema.
Diffstat (limited to 'data')
-rw-r--r--data/schemata/component_definition.rng77
1 files changed, 77 insertions, 0 deletions
diff --git a/data/schemata/component_definition.rng b/data/schemata/component_definition.rng
new file mode 100644
index 0000000..aeae0fd
--- /dev/null
+++ b/data/schemata/component_definition.rng
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!--
+ component_definition.rnc: VyConf component definition XML grammar
+
+ Copyright (C) 2014 VyOS Development Group <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
+ USA
+ -->
+ <start>
+ <element name="component">
+ <ref name="nameAttr"/>
+ <zeroOrMore>
+ <ref name="description"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="dependencies"/>
+ </zeroOrMore>
+ <ref name="executables"/>
+ </element>
+ </start>
+ <define name="nameAttr">
+ <attribute name="name"/>
+ </define>
+ <define name="description">
+ <element name="description">
+ <text/>
+ </element>
+ </define>
+ <define name="dependencies">
+ <element name="dependencies">
+ <oneOrMore>
+ <ref name="dependency"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="dependency">
+ <element name="dependency">
+ <text/>
+ </element>
+ </define>
+ <define name="executables">
+ <element name="executables">
+ <ref name="verify"/>
+ <ref name="update"/>
+ <ref name="apply"/>
+ </element>
+ </define>
+ <define name="verify">
+ <element name="verify">
+ <text/>
+ </element>
+ </define>
+ <define name="update">
+ <element name="update">
+ <text/>
+ </element>
+ </define>
+ <define name="apply">
+ <element name="apply">
+ <text/>
+ </element>
+ </define>
+</grammar>