{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "https://www.omg.org/spec/DDS-JSON/20190601/dds-json_dds_system.schema.json",
    "title": "DDS-JSON: DDS System Building Block Set",
    "description": "This block set offers the ability to describe a complete DDS system.",
    "definitions": {
        "ddsSystem": {
            "type": "object",
            "properties": {
                "types": {
                    "patternProperties": {
                        "^[a-zA-Z][a-zA-Z0-9_.]*$": {
                            "$ref": "dds-json_types.schema.json#/definitions/moduleElement"
                        }
                    }
                },
                "qos_libraries": {
                    "type": "array",
                    "items": {
                        "$ref": "dds-json_qos.schema.json#/definitions/qosLibrary"
                    },
                    "additionalItems": false
                },
                "domain_libraries": {
                    "type": "array",
                    "items": {
                        "$ref": "dds-json_domains.schema.json#/definitions/domainLibrary"
                    },
                    "additionalItems": false
                },
                "domain_participant_libraries": {
                    "type": "array",
                    "items": {
                        "$ref": "dds-json_domainparticipants.schema.json#/definitions/domainParticipantLibrary"
                    },
                    "additionalItems": false
                },
                "application_libraries": {
                    "type": "array",
                    "items": {
                        "$ref": "dds-json_applications.schema.json#/definitions/applicationLibrary"
                    },
                    "additionalItems": false
                }
            }
        }
    },
    "$ref": "#/definitions/ddsSystem"
}