In vk.xml "enums" is almost an internally tagged enum with the key "type", but the "API Constants" enum doesn't have a type, and it is the only place where there is no type, I suggest adding it and make changes to the schema that make type a mandatory key, this is a minor change to remove that specialisation for it when you write a binding generator. I had some problems with this because I couldn't just codegen the parser here.
Here is the line:
<enums name="API Constants" comment="Vulkan hardcoded constants - not an enumerated type, part of the header boilerplate">
I suggest adding type="constants" there.
In the schema "?" should be removed: attribute type { text } ? ,
I also noticed that "name" is optional too in the schema, even though it is always provided, maybe it can be made mandatory too? Though I don't care about it.
In vk.xml "enums" is almost an internally tagged enum with the key "type", but the "API Constants" enum doesn't have a type, and it is the only place where there is no type, I suggest adding it and make changes to the schema that make type a mandatory key, this is a minor change to remove that specialisation for it when you write a binding generator. I had some problems with this because I couldn't just codegen the parser here.
Here is the line:
<enums name="API Constants" comment="Vulkan hardcoded constants - not an enumerated type, part of the header boilerplate">
I suggest addingtype="constants"
there.In the schema "?" should be removed:
attribute type { text } ? ,
I also noticed that "name" is optional too in the schema, even though it is always provided, maybe it can be made mandatory too? Though I don't care about it.