By adding this attribute we'll start having a way to allow resources inheritance between OSes and its absence will be considered as "false". An example of how it'll look like is: foo: <resources arch="all"> <minimum> <n_cpus>1</n_cpus> <storage>123456789</storage> </minimum> </resources> bar (which derives-from/clones foo): <resources arch="all" inherit="true"> <minimum> <n_cpus>3</n_cpus> <ram>12345678</ram> </minimum> </resources> When querying for bar' minimum resources we should get: n_cpus: 3 cpu: -1 (not set) ram: 12345678 storage: 123456789 It means, basically all value *non* set for bar, will inherit the value that's set for foo (in case we have any). For the cases where we don't want to inherit something, we should do: foo: <resources arch="all"> <minimum> <n_cpus>1</n_cpus> <storage>123456789</storage> </minimum> </resources> bar (which derives-from/clones foo): <resources arch="all" inherit="false"> <minimum> <n_cpus>3</n_cpus> <ram>12345678</ram> </minimum> </resources> When querying for bar' minimum resources we should get: n_cpus: 3 cpu: -1 (not set) ram: 12345678 storage: -1 (not set) https://gitlab.com/libosinfo/osinfo-db/issues/15 Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> --- data/schema/osinfo.rng.in | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/data/schema/osinfo.rng.in b/data/schema/osinfo.rng.in index 6693391..fef7d01 100644 --- a/data/schema/osinfo.rng.in +++ b/data/schema/osinfo.rng.in @@ -287,6 +287,11 @@ <attribute name='arch'> <ref name='archnamesorwildcard'/> </attribute> + <optional> + <attribute name='inherit'> + <ref name='bool'/> + </attribute> + </optional> <interleave> <optional> <element name='minimum'> -- 2.19.1 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo