{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://www.ortolang.fr/schema/012#",
    "description": "Schema for ORTOLANG item",
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "schema": {
            "id": "http://www.ortolang.fr/schema",
            "type": "string"
        },
        "type": {
            "id": "http://www.ortolang.fr/type",
            "type": "string"
        },
        "title": {
            "id": "http://www.ortolang.fr/title",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/title/item",
                "type": "object",
                "properties": {
                    "lang": {
                        "id": "http://www.ortolang.fr/title/item/lang",
                        "type": "string"
                    },
                    "value": {
                        "id": "http://www.ortolang.fr/title/item/value",
                        "type": "string"
                    }
                }
            }
        },
        "description": {
            "id": "http://www.ortolang.fr/description",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/description/item",
                "type": "object",
                "properties": {
                    "lang": {
                        "id": "http://www.ortolang.fr/description/item/lang",
                        "type": "string"
                    },
                    "value": {
                        "id": "http://www.ortolang.fr/description/item/value",
                        "type": "string"
                    }
                }
            }
        },
        "keywords": {
            "id": "http://www.ortolang.fr/keywords",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/keywords/item/keyword",
                "type": "object",
                "properties": {
                    "lang": {
                        "id": "http://www.ortolang.fr/keywords/item/keyword/lang",
                        "type": "string"
                    },
                    "value": {
                        "id": "http://www.ortolang.fr/keywords/item/keyword/value",
                        "type": "string"
                    }
                }
            }
        },
        "bibliographicCitation": {
            "id": "http://www.ortolang.fr/bibliographicCitation",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/bibliographicCitation/item",
                "type": "object",
                "properties": {
                    "lang": {
                        "id": "http://www.ortolang.fr/bibliographicCitation/item/lang",
                        "type": "string"
                    },
                    "value": {
                        "id": "http://www.ortolang.fr/bibliographicCitation/item/value",
                        "type": "string"
                    }
                }
            }
        },
        "datasize": {
            "id": "http://www.ortolang.fr/datasize",
            "type": "string"
        },
        "publications": {
            "id": "http://www.ortolang.fr/publications",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/publications/0",
                "type": "object",
                "properties": {
                    "priority": {
                        "id": "http://www.ortolang.fr/publications/priority",
                        "type": "string",
                        "enum": [
                            "primary",
                            "secondary"
                        ]
                    },
                    "value": {
                        "id": "http://www.ortolang.fr/publications/value",
                        "type": "string"
                    }
                },
                "required": [
                    "priority",
                    "value"
                ]
            }
        },
        "website": {
            "id": "http://www.ortolang.fr/website",
            "type": "string"
        },
        "image": {
            "id": "http://www.ortolang.fr/image",
            "type": "string"
        },
        "preview": {
            "id": "http://www.ortolang.fr/preview",
            "type": "object",
            "properties": {
                "type": {
                    "id": "http://www.ortolang.fr/preview/type",
                    "type": "string",
                    "default": "line",
                    "enum": [
                        "line",
                        "slideshow"
                    ]
                },
                "paths": {
                    "id": "http://www.ortolang.fr/preview/paths",
                    "type": "array",
                    "items": {
                        "id": "http://www.ortolang.fr/preview/paths/item",
                        "type": "string"
                    }
                }
            }
        },
        "statusOfUse": {
            "id": "http://www.ortolang.fr/statusOfUse",
            "type": "string"
        },
        "conditionsOfUse": {
            "id": "http://www.ortolang.fr/conditionsOfUse",
            "type": "string"
        },
        "licenseWebsite": {
            "id": "http://www.ortolang.fr/licenseWebsite",
            "type": "string"
        },
        "license": {
            "id": "http://www.ortolang.fr/license",
            "type": "string"
        },
        "derogation": {
            "id": "http://www.ortolang.fr/derogation",
            "type": "string"
        },
        "contributors": {
            "id": "http://www.ortolang.fr/contributors",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/contributors/item",
                "type": "object",
                "properties": {
                    "role": {
                        "id": "http://www.ortolang.fr/contributors/item/role",
                        "type": "array",
                        "items": {
                            "id": "http://www.ortolang.fr/contributors/item/role/item",
                            "type": "string"
                        }
                    },
                    "entity": {
                        "id": "http://www.ortolang.fr/contributors/item/entity",
                        "type": "object"
                    }
                }
            }
        },
        "creationLocations": {
            "id": "http://www.ortolang.fr/creationLocations",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/creationLocations/0",
                "type": "string"
            }
        },
        "creationDate": {
            "id": "http://www.ortolang.fr/creationDate",
            "type": "string"
        },
        "publicationDate": {
            "id": "http://www.ortolang.fr/publicationDate",
            "type": "string"
        },
        "corporaType": {
            "id": "http://www.ortolang.fr/corporaType",
            "type": "string"
        },
        "corporaLanguages": {
            "id": "http://www.ortolang.fr/corporaLanguages",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/corporaLanguages/0",
                "type": "string"
            }
        },
        "corporaStyles": {
            "id": "http://www.ortolang.fr/corporaStyles",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/corporaStyles/0",
                "type": "string"
            }
        },
        "annotationLevels": {
            "id": "http://www.ortolang.fr/annotationLevels",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/annotationLevels/0",
                "type": "string"
            }
        },
        "corporaFormats": {
            "id": "http://www.ortolang.fr/corporaFormats",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/corporaFormats/0",
                "type": "string"
            }
        },
        "corporaFileEncodings": {
            "id": "http://www.ortolang.fr/corporaFileEncodings",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/corporaFileEncodings/0",
                "type": "string"
            }
        },
        "corporaDataTypes": {
            "id": "http://www.ortolang.fr/corporaDataTypes",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/corporaDataTypes/0",
                "type": "string"
            }
        },
        "corporaLanguageType": {
            "id": "http://www.ortolang.fr/corporaLanguageType",
            "type": "string"
        },
        "wordCount": {
            "id": "http://www.ortolang.fr/wordCount",
            "type": "string"
        },
        "linguisticDataType": {
            "id": "http://www.ortolang.fr/linguisticDataType",
            "type": "string"
        },
        "discourseTypes": {
            "id": "http://www.ortolang.fr/discourseTypes",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/discourseTypes/0",
                "type": "string"
            }
        },
        "linguisticSubjects": {
            "id": "http://www.ortolang.fr/linguisticSubjects",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/linguisticSubjects/0",
                "type": "string"
            }
        },
        "programmingLanguages": {
            "id": "http://www.ortolang.fr/programmingLanguages",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/programmingLanguages/0",
                "type": "string"
            }
        },
        "operatingSystems": {
            "id": "http://www.ortolang.fr/operatingSystems",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/operatingSystems/0",
                "type": "string"
            }
        },
        "toolSupport": {
            "id": "http://www.ortolang.fr/toolSupport",
            "type": "string"
        },
        "navigationLanguages": {
            "id": "http://www.ortolang.fr/navigationLanguages",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/navigationLanguages/0",
                "type": "string"
            }
        },
        "toolLanguages": {
            "id": "http://www.ortolang.fr/toolLanguages",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/toolLanguages/0",
                "type": "string"
            }
        },
        "toolFunctionalities": {
            "id": "http://www.ortolang.fr/toolFunctionalities",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/toolFunctionalities/0",
                "type": "string"
            }
        },
        "toolInputData": {
            "id": "http://www.ortolang.fr/toolInputData",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/toolInputData/0",
                "type": "string"
            }
        },
        "toolOutputData": {
            "id": "http://www.ortolang.fr/toolOutputData",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/toolOutputData/0",
                "type": "string"
            }
        },
        "toolFileEncodings": {
            "id": "http://www.ortolang.fr/toolFileEncodings",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/toolFileEncodings/0",
                "type": "string"
            }
        },
        "toolId": {
            "id": "http://www.ortolang.fr/toolId",
            "type": "string"
        },
        "toolUrl": {
            "id": "http://www.ortolang.fr/toolUrl",
            "type": "string"
        },
        "toolHelp": {
            "id": "http://www.ortolang.fr/toolHelp",
            "type": "string"
        },
        "lexiconInputType": {
            "id": "http://www.ortolang.fr/lexiconInputType",
            "type": "string"
        },
        "lexiconInputLanguages": {
            "id": "http://www.ortolang.fr/lexiconInputLanguages",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/lexiconInputLanguages/0",
                "type": "string"
            }
        },
        "lexiconInputCount": {
            "id": "http://www.ortolang.fr/lexiconInputCount",
            "type": "string"
        },
        "lexiconDescriptionTypes": {
            "id": "http://www.ortolang.fr/lexiconDescriptionTypes",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/lexiconDescriptionTypes/0",
                "type": "string"
            }
        },
        "lexiconDescriptionLanguages": {
            "id": "http://www.ortolang.fr/lexiconDescriptionLanguages",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/lexiconDescriptionLanguages/0",
                "type": "string"
            }
        },
        "lexiconLanguageType": {
            "id": "http://www.ortolang.fr/lexiconLanguageType",
            "type": "string"
        },
        "lexiconFormats": {
            "id": "http://www.ortolang.fr/lexiconFormats",
            "type": "array",
            "items": {
                "id": "http://www.ortolang.fr/lexiconFormats/0",
                "type": "string"
            }
        },
        "applicationUrl": {
            "id": "http://www.ortolang.fr/applicationUrl",
            "type": "string"
        }
    },
    "required": [
        "type",
        "title",
        "description",
        "statusOfUse"
    ]
}