Now Redfish Schema only provides "JsonSchema" URI for JSON format, how about the schemas in the other format like XML and YAML?
For example, if vendor wants to create a OEM AccountService XML schema and put in private network or local BMC location, that means the vendor has to implement a OEM URI to reference the XML schema (e.g. "/redfish/v1/oem/vendor/OEMAccountService_v1.xml") because there is no way to describe the URI for the non-JSON format schema in current DMTF Redfish design.
I think this is a general requirement. So I kindly suggest that DMTF might consider to change the name "JsonSchema" schema to like "Schema" in order to handle the schemas in more formats, not only for JSON format.
Last Edit: Apr 26, 2021 6:29:21 GMT by alvin: Clear the title
The JsonSchema resource is just to point to JSON Schema files; it's not meant to be used for CSDL or OpenAPI.
The text you have highlighted from the $metadata definition is a bit incorrect. The first bullet should be "an absolute URI"; it does not need to be a standard URI. Essentially it either needs to point to some web server hosting the schema file (which could be the DMTF site, a vendor website, or some private website in the infrastructure), or to a local copy of the XML file on the manager.
For OpenAPI, the same rules apply; we define a standard location for the OpenAPI document to be /redfish/v1/openapi.yaml, and its up to the contents of the file to describe where to go next, which would either be absolute URIs to other schema files, or relative URIs to local copies on the manager.