{
    "meta:license": [
        "Copyright 2017 Adobe Systems Incorporated. All rights reserved.",
        "This file is licensed to you under the Apache License, Version 2.0 (the 'License');",
        "you may not use this file except in compliance with the License. You may obtain a copy",
        "of the License at http://www.apache.org/licenses/LICENSE-2.0"
    ],
    "$schema": "http://json-schema.org/draft-06/schema#",
    "$id": "https://example.com/schemas/join",
    "title": "Join Types",
    "description": "This is an example of a JSON schema with only a join type key. Here a 'oneOf'.",
    "oneOf": [
        {
            "not": {
                "oneOf": [
                    {
                        "type": "object",
                        "description": "A simple string.",
                        "properties": {
                            "foo": {
                                "type": "string",
                                "description": "A simple string.",
                                "examples": [
                                    "hello"
                                ],
                                "version": "1.0.0",
                                "testProperty": "test"
                            }
                        }
                    },
                    {
                        "type": "object",
                        "description": "Another simple string.",
                        "properties": {
                            "bar": {
                                "type": "string",
                                "description": "A simple string.",
                                "examples": [
                                    "world"
                                ],
                                "version": "1.0.0",
                                "testProperty": "test"
                            }
                        }
                    }
                ]
            }
        },
        {
            "allOf": [
                {
                    "type": "object",
                    "description": "A simple string.",
                    "properties": {
                        "foo": {
                            "type": "string",
                            "description": "A simple string.",
                            "examples": [
                                "hello"
                            ],
                            "version": "1.0.0",
                            "testProperty": "test"
                        }
                    }
                }
            ]
        },
        {
            "anyOf": [
                {
                    "type": "object",
                    "description": "Another simple string.",
                    "properties": {
                        "bar": {
                            "type": "string",
                            "description": "A simple string.",
                            "examples": [
                                "world"
                            ],
                            "version": "1.0.0",
                            "testProperty": "test"
                        }
                    }
                }
            ]
        }
    ]
}