json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "required": [
          "medium"
      ],
      "properties": {
          "medium": {
              "type": "object",
              "description": "Identifies which media content to display.",
              "required": [
                  "resource"
              ],
              "properties": {
                  "resource": {
                      "type": "string",
                      "format": "topic",
                      "axRole": "inlet",
                      "description": "A resource topic under which a document resource can be obtained."
                  },
                  "showTitle": {
                      "type": "boolean",
                      "description": "If available, show a title above the media content.",
                      "default": false
                  },
                  "showCaption": {
                      "type": "boolean",
                      "description": "If available, show a caption below the media content.",
                      "default": false
                  },
                  "onActions": {
                      "type": "array",
                      "description": "List of actions, any of which triggers loading media content. If omitted, content is loaded immediately.",
                      "items": {
                          "type": "string",
                          "format": "topic",
                          "axRole": "inlet",
                          "description": "An action that triggers loading media content."
                      }
                  }
              },
              "additionalProperties": false
          },
          "layout": {
              "type": "object",
              "description": "Tells how the display size is calculated.",
              "properties": {
                  "sizeToContent": {
                      "type": "boolean",
                      "description": "If true, the media content determines the rendering size (container otherwise).",
                      "default": false
                  }
              },
              "additionalProperties": false
          },
          "fallback": {
              "type": "object",
              "description": "Allow to open content in a new browser-window on specific platforms.",
              "properties": {
                  "i18nHtmlText": {
                      "type": [
                          "string",
                          "object"
                      ],
                      "description": "Text to display on the fallback-link.",
                      "default": {
                          "en": "Please click here to display the document!",
                          "de": "Bitte klicken, um das Dokument anzuzeigen!"
                      }
                  }
              }
          },
          "integration": {
              "type": "object",
              "description": "Allow to integrate with embedded websites (applicable to website mime-types only).",
              "properties": {
                  "name": {
                      "type": [
                          "string",
                          "null"
                      ],
                      "description": "The window.name that is visible to any embedded website.",
                      "default": null
                  }
              },
              "additionalProperties": false
          },
          "i18n": {
              "description": "Which locale to use for displaying this widget.",
              "type": "object",
              "properties": {
                  "locale": {
                      "type": "string",
                      "format": "topic",
                      "axRole": "inlet",
                      "description": "The topic under which to expect the locale for this widget.",
                      "default": "default"
                  }
              }
          }
      }
  }