
The current schema is more permissive than the XML parsing code in libvirt. Precisely, 'match' attribute is optional in schema while in reality its use is bound to <model> element:
- <cpu> element without 'match' attribute is allowed only if <topology> element is the only child element of <cpu>
- <cpu> element with 'match' attribute requires <model> element to be present; <topology> and <feature> elements are optional
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
ACK, but there is a limit to this kind of refinements. Basically the schemas will always have to be more permissive than the internals, for example some constructs are allowed only for some values of attribute type on top level element, and except making the schemas unmaintainable, I don't think it's feasible to have the RNG model exactly the actual set accepted. It's really 2 different models of validation.
Sure thing, I considered this was within the limit and I think it also made that part of schema a bit more readable. Thanks, pushed. Jirka