This is not in any way critical but simply trying to get a better idea
of the purposes of docs/schemas/*
I recently submitted a patch which needed me to look at and modify some
of the schema files [adding a client-id specification to dhcp/host]. As
I looked them over I wondered what the purpose was of the schemas. If
you ran virt-xml-validate (which uses xmllint) and the result is that
your file is not validated, then there is a problem but it is not clear
just what the problem is. On the other hand, if you run
virt-xml-validate and it says the your file is OK (validated), that only
means that it did not find a problem but not that the file is OK.
For example, the schema says it is valid to specify an IPv6 address in
an IPv4 definition. The implementing software if kick it out but the
schema says it is OK.
Another example is the (host) name under the dhcp/host definition. The
current schema says this is required but dnsmasq does not require a
host-name specification [I submitted a trivial patch to make it optional].
So, if the purpose is to kick out obvious errors, this it is OK as is.
If the purpose to to be definitiive, then more work needs to be done.
My opinion is that the current situation is "good enough" as long as
valid elements/specifications are not treated as errors.
Gene