I'm assembling profiles from lots of pieces (see https://github.com/usgin/metadataBuildingBlocks), but the full schema displayed by bblocks-viewer shows all the $refs to building block components that are being assembled, making it difficult to figure out if the resolved schema that assembles all the pieces is doing what you want. A resolved schema is also useful for offline testing and validation instance documents using tools like Oxygen.
PR opengeospatial/bblock-template#8 addresses this issue with python codes to generate resolved schema. Also includes a couple tools to generate JSON schema in parallel to the yaml-encoded json schema and check that the JSON and Yaml are equivalent. I'm a lot more comfortable reviewing and testing the JSON serialized schema.
To make the resolves schema visible in the BBlock view requires update to the bblock viewer code (see ogcincubator/bblocks-viewer#5),
This issue addresses the third step to make the resolved schema accessible via the bbtemplate and view-- update to the post processing workflow (Github action) in the Building Block Repository. The postprocess Docker tool generates annotated schemas in build/annotated/, but these still contain $ref references to remote URLs. Building block authors currently have no standard way to produce a fully-resolved, self-contained JSON Schema from their source files — useful for:
- Local validation (e.g.,
jsonschema.validate(data, resolved_schema))
- Tooling integration (e.g., JSON Forms, IDE schema support)
- Inspection and debugging (single file, no external dependencies)
addressed by #62
I'm assembling profiles from lots of pieces (see https://github.com/usgin/metadataBuildingBlocks), but the full schema displayed by bblocks-viewer shows all the $refs to building block components that are being assembled, making it difficult to figure out if the resolved schema that assembles all the pieces is doing what you want. A resolved schema is also useful for offline testing and validation instance documents using tools like Oxygen.
PR opengeospatial/bblock-template#8 addresses this issue with python codes to generate resolved schema. Also includes a couple tools to generate JSON schema in parallel to the yaml-encoded json schema and check that the JSON and Yaml are equivalent. I'm a lot more comfortable reviewing and testing the JSON serialized schema.
To make the resolves schema visible in the BBlock view requires update to the bblock viewer code (see ogcincubator/bblocks-viewer#5),
This issue addresses the third step to make the resolved schema accessible via the bbtemplate and view-- update to the post processing workflow (Github action) in the Building Block Repository. The postprocess Docker tool generates annotated schemas in
build/annotated/, but these still contain$refreferences to remote URLs. Building block authors currently have no standard way to produce a fully-resolved, self-contained JSON Schema from their source files — useful for:jsonschema.validate(data, resolved_schema))addressed by #62