xref: /aosp_15_r20/external/json-schema-validator/src/test/resources/oas/v31/meta/base (revision 78c4dd6aa35290980cdcd1623a7e337e8d021c7c)
1{
2    "$id": "https://spec.openapis.org/oas/3.1/meta/base",
3    "$schema": "https://json-schema.org/draft/2020-12/schema",
4
5    "title": "OAS Base vocabulary",
6    "description": "A JSON Schema Vocabulary used in the OpenAPI Schema Dialect",
7
8    "$vocabulary": {
9        "https://spec.openapis.org/oas/3.1/vocab/base": true
10    },
11
12    "$dynamicAnchor": "meta",
13
14    "type": ["object", "boolean"],
15    "properties": {
16        "example": true,
17        "discriminator": { "$ref": "#/$defs/discriminator" },
18        "externalDocs": { "$ref": "#/$defs/external-docs" },
19        "xml": { "$ref": "#/$defs/xml" }
20    },
21
22    "$defs": {
23        "extensible": {
24            "patternProperties": {
25                "^x-": true
26            }
27        },
28
29        "discriminator": {
30            "$ref": "#/$defs/extensible",
31            "type": "object",
32            "properties": {
33                "propertyName": {
34                    "type": "string"
35                },
36                "mapping": {
37                    "type": "object",
38                    "additionalProperties": {
39                        "type": "string"
40                    }
41                }
42            },
43            "required": ["propertyName"],
44            "unevaluatedProperties": false
45        },
46
47        "external-docs": {
48            "$ref": "#/$defs/extensible",
49            "type": "object",
50            "properties": {
51                "url": {
52                    "type": "string",
53                    "format": "uri-reference"
54                },
55                "description": {
56                    "type": "string"
57                }
58            },
59            "required": ["url"],
60            "unevaluatedProperties": false
61        },
62
63        "xml": {
64            "$ref": "#/$defs/extensible",
65            "type": "object",
66            "properties": {
67                "name": {
68                    "type": "string"
69                },
70                "namespace": {
71                    "type": "string",
72                    "format": "uri"
73                },
74                "prefix": {
75                    "type": "string"
76                },
77                "attribute": {
78                    "type": "boolean"
79                },
80                "wrapped": {
81                    "type": "boolean"
82                }
83            },
84            "unevaluatedProperties": false
85        }
86    }
87}
88