# UVL - Reference-Spec
# This is a meta scheme defining the format of uci schemes.
-# Note that this spec is overly strict, it requires that the "depends",
-# "valueof" and "validator" fields are of type list but if only one value is
-# given, the notation as "option" is allowed too.
# $Id$
package schema
option name 'description'
option title 'Description of the defined package'
option section 'schema.package'
- option type 'variable'
+ option type 'lazylist'
option datatype 'string'
option required false
option name 'description'
option title 'Description of the defined section'
option section 'schema.section'
- option type 'variable'
+ option type 'lazylist'
option datatype 'string'
option required false
option name 'depends'
option title 'List of dependencies within and between defined sections'
option section 'schema.section'
- option type 'list'
+ option type 'lazylist'
option datatype 'string'
option required false
option name 'description'
option title 'Description of the defined variable'
option section 'schema.variable'
- option type 'variable'
+ option type 'lazylist'
option datatype 'string'
option required false
option name 'depends'
option title 'List of dependencies between defined variables'
option section 'schema.variable'
- option type 'list'
+ option type 'lazylist'
option datatype 'string'
option required false
option datatype 'boolean'
option required false
+# Variable multiple values flag (schema.@variable.multival)
+config variable
+ option name 'multival'
+ option title 'Specify whether this variable may contain multiple values separated by space'
+ option section 'schema.variable'
+ option type 'variable'
+ option datatype 'boolean'
+ option required false
+
# Variable type (schema.@variable.type)
config variable
option name 'type'
option title 'This is a list variable'
option variable 'schema.variable.type'
+# List-or-Option variable type (schema.@variable.type=lazylist)
+config enum
+ option value 'lazylist'
+ option title 'This is a list or option variable'
+ option variable 'schema.variable.type'
+
# Reference variable type (schema.@variable.type=reference)
config enum
option value 'reference'
option datatype 'string'
option required false
+# Variable default value (schema.@variable.default)
+config variable
+ option name 'default'
+ option title 'Datatype of this variable'
+ option section 'schema.variable'
+ option type 'variable'
+ option datatype 'string'
+ option required false
+
# Variable validators (schema.@variable.validator)
config variable
option name 'validator'
option title 'Datatype of this variable'
option section 'schema.variable'
- option type 'list'
+ option type 'lazylist'
option datatype 'string'
option required false
option name 'valueof'
option title 'Reference to section or option to read values from'
option section 'schema.variable'
- option type 'list'
+ option type 'lazylist'
option datatype 'string'
option required false
# Enum value (schema.@enum.value)
config variable
- option name 'name'
- option title 'Name of the defined variable'
+ option name 'value'
+ option title 'Value of the defined enum value'
option section 'schema.enum'
option type 'variable'
option datatype 'string'
option name 'description'
option title 'Description of the defined enum value'
option section 'schema.enum'
- option type 'variable'
+ option type 'lazylist'
option datatype 'string'
option required false
option name 'depends'
option title 'List of dependencies on defined variables'
option section 'schema.enum'
- option type 'list'
+ option type 'lazylist'
option datatype 'string'
option required false