{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "https://readium.org/webpub-manifest/schema/extensions/epub/properties.schema.json",
    "title": "EPUB Extension - Link Properties",
    "type": "object",
    "properties": {
        "contains": {
            "description": "Identifies content contained in the linked resource, that cannot be strictly identified using a media type.",
            "type": "array",
            "items": {
                "type": "string",
                "enum": [
                    "mathml",
                    "onix",
                    "remote-resources",
                    "js",
                    "svg",
                    "xmp"
                ]
            },
            "_uniqueItems": true
        },
        "layout": {
            "description": "Hints how the layout of the resource should be presented",
            "type": "string",
            "enum": [
                "fixed",
                "reflowable"
            ]
        },
        "media-overlay": {
            "description": "Location of a media-overlay for the resource referenced in the Link Object",
            "type": "string",
            "format": "uri-reference"
        },
        "overflow": {
            "description": "Suggested method for handling overflow while displaying the linked resource",
            "type": "string",
            "enum": [
                "auto",
                "paginated",
                "scrolled",
                "scrolled-continuous"
            ]
        },
        "spread": {
            "description": "Indicates the condition to be met for the linked resource to be rendered within a synthetic spread",
            "type": "string",
            "enum": [
                "auto",
                "both",
                "none",
                "landscape"
            ]
        },
        "encrypted": {
            "description": "Indicates that a resource is encrypted/obfuscated and provides relevant information for decryption",
            "type": "object",
            "properties": {
                "algorithm": {
                    "description": "Identifies the algorithm used to encrypt the resource",
                    "type": "string",
                    "format": "uri"
                },
                "compression": {
                    "description": "Compression method used on the resource",
                    "type": "string"
                },
                "original-length": {
                    "description": "Original length of the resource in bytes before compression and/or encryption",
                    "type": "integer"
                },
                "profile": {
                    "description": "Identifies the encryption profile used to encrypt the resource",
                    "type": "string",
                    "format": "uri"
                },
                "scheme": {
                    "description": "Identifies the encryption scheme used to encrypt the resource",
                    "type": "string",
                    "format": "uri"
                }
            },
            "required": [
                "algorithm"
            ]
        }
    }
}