From 8fb034b5e3a1f685eb2ada0def042f3c9395538e Mon Sep 17 00:00:00 2001 From: Emmanuel Raviart Date: Thu, 2 Jan 2025 23:14:28 +0100 Subject: [PATCH] =?UTF-8?q?Add=20JSON=20Schemas=20of=20L=C3=A9gifrance=20d?= =?UTF-8?q?atasets.=20Fix=20#5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 + package-lock.json | 144 + package.json | 1 + .../generate_legifrance_json_schemas.ts | 10 + static/schemas.json | 3059 +++++++++++++++++ 5 files changed, 3226 insertions(+) create mode 100644 src/scripts/generate_legifrance_json_schemas.ts create mode 100644 static/schemas.json diff --git a/README.md b/README.md index b0cada9..1abe93b 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,18 @@ npm run build npm run preview ``` +## Development + +### JSON Schemas Generation + +```sh +npx tsx src/scripts/generate_legifrance_json_schemas.ts +# Prettify generated JSON file. +npm run format +``` + +Note: JSON schemas are generated in file `static/schemas.json` + ### Package Generation & Publishing ```sh diff --git a/package-lock.json b/package-lock.json index 8eab9d2..7183881 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,6 +62,7 @@ "tailwind-variants": "^0.3.0", "tailwindcss": "^3.3.2", "tailwindcss-animate": "^1.0.7", + "ts-json-schema-generator": "^2.3.0", "tslib": "^2.3.1", "tsx": "^4.0.0", "typescript": "^5.0.4", @@ -4436,6 +4437,19 @@ "dev": true, "license": "MIT" }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -5946,6 +5960,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -6996,6 +7020,126 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "license": "Apache-2.0" }, + "node_modules/ts-json-schema-generator": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-2.3.0.tgz", + "integrity": "sha512-t4lBQAwZc0sOJq9LJt3NgbznIcslVnm0JeEMFq8qIRklpMRY8jlYD0YmnRWbqBKANxkby91P1XanSSlSOFpUmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.15", + "commander": "^12.0.0", + "glob": "^10.3.12", + "json5": "^2.2.3", + "normalize-path": "^3.0.0", + "safe-stable-stringify": "^2.4.3", + "tslib": "^2.6.2", + "typescript": "^5.4.5" + }, + "bin": { + "ts-json-schema-generator": "bin/ts-json-schema-generator.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/ts-json-schema-generator/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ts-json-schema-generator/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/ts-json-schema-generator/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ts-json-schema-generator/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/ts-json-schema-generator/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ts-json-schema-generator/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ts-json-schema-generator/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", diff --git a/package.json b/package.json index c578aa8..15a7cfb 100644 --- a/package.json +++ b/package.json @@ -99,6 +99,7 @@ "tailwind-variants": "^0.3.0", "tailwindcss": "^3.3.2", "tailwindcss-animate": "^1.0.7", + "ts-json-schema-generator": "^2.3.0", "tslib": "^2.3.1", "tsx": "^4.0.0", "typescript": "^5.0.4", diff --git a/src/scripts/generate_legifrance_json_schemas.ts b/src/scripts/generate_legifrance_json_schemas.ts new file mode 100644 index 0000000..e9727a7 --- /dev/null +++ b/src/scripts/generate_legifrance_json_schemas.ts @@ -0,0 +1,10 @@ +import fs from "fs-extra" +import * as tsj from "ts-json-schema-generator" + +const config: tsj.Config = { + path: "src/lib/legal/{dole,jorf,legi,shared}.ts", + tsconfig: "tsconfig.json", + type: "*", +} +const schema = tsj.createGenerator(config).createSchema(config.type) +await fs.writeJson("static/schemas.json", schema, { spaces: 2 }) diff --git a/static/schemas.json b/static/schemas.json new file mode 100644 index 0000000..4ec5a9b --- /dev/null +++ b/static/schemas.json @@ -0,0 +1,3059 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "ArborescenceLien": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@libelle": { + "type": "string" + }, + "@lien": { + "type": "string" + } + }, + "required": ["@id"], + "additionalProperties": false + }, + "ArborescenceNiveau": { + "type": "object", + "properties": { + "@id": { + "type": "string" + }, + "@libelle": { + "type": "string" + }, + "LIEN": { + "type": "array", + "items": { + "$ref": "#/definitions/ArborescenceLien" + } + }, + "NIVEAU": { + "$ref": "#/definitions/ArborescenceNiveau" + } + }, + "required": ["@id", "@libelle"], + "additionalProperties": false + }, + "DossierLegislatif": { + "type": "object", + "properties": { + "CONTENU": { + "type": "object", + "properties": { + "ARBORESCENCE": { + "type": "object", + "properties": { + "LIEN": { + "type": "array", + "items": { + "$ref": "#/definitions/ArborescenceLien" + } + }, + "NIVEAU": { + "$ref": "#/definitions/ArborescenceNiveau" + } + }, + "additionalProperties": false + }, + "CONTENU_DOSSIER_1": { + "type": "string" + }, + "CONTENU_DOSSIER_2": { + "type": "string" + }, + "CONTENU_DOSSIER_3": { + "type": "string" + }, + "CONTENU_DOSSIER_4": { + "type": "string" + }, + "CONTENU_DOSSIER_5": { + "type": "string" + }, + "ECHEANCIER": { + "$ref": "#/definitions/Echeancier" + }, + "EXPOSE_MOTIF": { + "type": "string" + }, + "LIBELLE_TEXTE_1": { + "type": "string" + }, + "LIBELLE_TEXTE_2": { + "type": "string" + }, + "LIBELLE_TEXTE_3": { + "type": "string" + }, + "LIBELLE_TEXTE_4": { + "type": "string" + }, + "LIBELLE_TEXTE_5": { + "type": "string" + } + }, + "required": ["ARBORESCENCE"], + "additionalProperties": false + }, + "META": { + "type": "object", + "properties": { + "META_COMMUN": { + "type": "object", + "properties": { + "ANCIEN_ID": { + "type": "string" + }, + "ID": { + "type": "string" + }, + "URL": { + "type": "string" + }, + "ORIGINE": { + "type": "string", + "const": "JORF" + } + }, + "required": ["ID", "URL", "ORIGINE"], + "additionalProperties": false + }, + "META_DOSSIER_LEGISLATIF": { + "type": "object", + "properties": { + "DATE_CREATION": { + "type": "string" + }, + "DATE_DERNIERE_MODIFICATION": { + "type": "string" + }, + "ID_TEXTE_1": { + "type": "string" + }, + "ID_TEXTE_2": { + "type": "string" + }, + "ID_TEXTE_3": { + "type": "string" + }, + "ID_TEXTE_4": { + "type": "string" + }, + "ID_TEXTE_5": { + "type": "string" + }, + "LEGISLATURE": { + "type": "object", + "properties": { + "DATE_DEBUT": { + "type": "string" + }, + "DATE_FIN": { + "type": "string" + }, + "LIBELLE": { + "type": "string" + }, + "NUMERO": { + "type": "number" + } + }, + "required": ["DATE_DEBUT", "DATE_FIN", "LIBELLE", "NUMERO"], + "additionalProperties": false + }, + "TITRE": { + "type": "string" + }, + "TYPE": { + "$ref": "#/definitions/DossierLegislatifType" + } + }, + "required": [ + "DATE_CREATION", + "DATE_DERNIERE_MODIFICATION", + "TITRE" + ], + "additionalProperties": false + } + }, + "required": ["META_COMMUN", "META_DOSSIER_LEGISLATIF"], + "additionalProperties": false + } + }, + "required": ["CONTENU", "META"], + "additionalProperties": false + }, + "Echeancier": { + "type": "object", + "properties": { + "@derniere_maj": { + "type": "string" + }, + "LIGNE": { + "type": "array", + "items": { + "$ref": "#/definitions/EcheancierLigne" + } + } + }, + "required": ["LIGNE"], + "additionalProperties": false + }, + "EcheancierLigne": { + "type": "object", + "properties": { + "ARTICLE": { + "type": "string" + }, + "BASE_LEGALE": { + "type": "string" + }, + "CID_LOI_CIBLE": { + "type": "string" + }, + "DATE_PREVUE": { + "type": "string" + }, + "DECRET": { + "type": "string" + }, + "LIEN_ARTICLE": { + "type": "array", + "items": { + "type": "object", + "properties": { + "@id": { + "type": "string" + }, + "#text": { + "type": "string" + } + }, + "required": ["@id", "#text"], + "additionalProperties": false + } + }, + "NUMERO_ORDRE": { + "type": "string" + }, + "OBJET": { + "type": "string" + } + }, + "additionalProperties": false + }, + "DossierLegislatifType": { + "type": "string", + "enum": [ + "LOI_PUBLIEE", + "PROJET_LOI", + "PROJET_ORDONNANCE", + "PROPOSITION_LOI", + "ORDONNANCE_PUBLIEE" + ] + }, + "Sens": { + "type": "string", + "enum": ["cible", "source"] + }, + "ArticleLienDb": { + "type": "object", + "properties": { + "article_id": { + "type": "string" + }, + "cible": { + "type": "boolean" + }, + "cidtexte": { + "type": ["string", "null"] + }, + "id": { + "type": "string" + }, + "typelien": { + "type": "string" + } + }, + "required": ["article_id", "cible", "cidtexte", "id", "typelien"], + "additionalProperties": false + }, + "TexteVersionLienDb": { + "type": "object", + "properties": { + "texte_version_id": { + "type": "string" + }, + "cible": { + "type": "boolean" + }, + "cidtexte": { + "type": ["string", "null"] + }, + "id": { + "type": "string" + }, + "typelien": { + "type": "string" + } + }, + "required": ["texte_version_id", "cible", "cidtexte", "id", "typelien"], + "additionalProperties": false + }, + "Jo": { + "type": "object", + "properties": { + "META": { + "type": "object", + "properties": { + "META_COMMUN": { + "type": "object", + "properties": { + "ID": { + "type": "string" + }, + "ID_ELI": { + "type": "string" + }, + "NATURE": { + "$ref": "#/definitions/JoNature" + }, + "ORIGINE": { + "$ref": "#/definitions/JoOrigine" + }, + "URL": { + "type": "string" + } + }, + "required": ["ID", "NATURE", "ORIGINE", "URL"], + "additionalProperties": false + }, + "META_SPEC": { + "type": "object", + "properties": { + "META_CONTENEUR": { + "type": "object", + "properties": { + "DATE_PUBLI": { + "type": "string" + }, + "NUM": { + "type": "string" + }, + "TITRE": { + "type": "string" + } + }, + "required": ["DATE_PUBLI", "TITRE"], + "additionalProperties": false + } + }, + "required": ["META_CONTENEUR"], + "additionalProperties": false + } + }, + "required": ["META_COMMUN", "META_SPEC"], + "additionalProperties": false + }, + "STRUCTURE_TXT": { + "type": "object", + "properties": { + "LIEN_TXT": { + "type": "array", + "items": { + "$ref": "#/definitions/JoLienTxt" + } + }, + "TM": { + "type": "array", + "items": { + "$ref": "#/definitions/JoTm" + } + } + }, + "additionalProperties": false + } + }, + "required": ["META"], + "additionalProperties": false + }, + "JoNature": { + "type": "string", + "enum": ["JO"] + }, + "JoOrigine": { + "type": "string", + "enum": ["JORF"] + }, + "JoLienTxt": { + "type": "object", + "properties": { + "@idtxt": { + "type": "string" + }, + "@titretxt": { + "type": "string" + } + }, + "required": ["@idtxt"], + "additionalProperties": false + }, + "JoTm": { + "type": "object", + "properties": { + "@niv": { + "type": "number" + }, + "LIEN_TXT": { + "type": "array", + "items": { + "$ref": "#/definitions/JoLienTxt" + } + }, + "TITRE_TM": { + "type": "string" + }, + "TM": { + "type": "array", + "items": { + "$ref": "#/definitions/JoTm" + } + } + }, + "required": ["@niv", "TITRE_TM"], + "additionalProperties": false + }, + "JorfArticle": { + "type": "object", + "properties": { + "BLOC_TEXTUEL": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "CONTEXTE": { + "type": "object", + "properties": { + "TEXTE": { + "type": "object", + "properties": { + "@cid": { + "type": "string" + }, + "@date_publi": { + "type": "string" + }, + "@date_signature": { + "type": "string" + }, + "@nature": { + "$ref": "#/definitions/JorfArticleTexteNature" + }, + "@nor": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@num_parution_jo": { + "type": "string" + }, + "TITRE_TXT": { + "type": "array", + "items": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@c_titre_court": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id_txt": { + "type": "string" + } + }, + "required": ["@debut", "@fin", "@id_txt"], + "additionalProperties": false + } + }, + "TM": { + "$ref": "#/definitions/JorfArticleTm" + } + }, + "required": ["@cid", "@date_publi", "@date_signature"], + "additionalProperties": false + } + }, + "required": ["TEXTE"], + "additionalProperties": false + }, + "META": { + "type": "object", + "properties": { + "META_COMMUN": { + "type": "object", + "properties": { + "ANCIEN_ID": { + "type": "string" + }, + "ELI_ALIAS": { + "type": "object", + "properties": { + "ID_ELI_ALIAS": { + "type": "string" + } + }, + "required": ["ID_ELI_ALIAS"], + "additionalProperties": false + }, + "ID": { + "type": "string" + }, + "ID_ELI": { + "type": "string" + }, + "NATURE": { + "$ref": "#/definitions/JorfArticleNature" + }, + "ORIGINE": { + "$ref": "#/definitions/JorfArticleOrigine" + }, + "URL": { + "type": "string" + } + }, + "required": ["ID", "ORIGINE", "URL"], + "additionalProperties": false + }, + "META_SPEC": { + "type": "object", + "properties": { + "META_ARTICLE": { + "$ref": "#/definitions/JorfArticleMetaArticle" + } + }, + "required": ["META_ARTICLE"], + "additionalProperties": false + } + }, + "required": ["META_COMMUN", "META_SPEC"], + "additionalProperties": false + }, + "VERSIONS": { + "type": "object", + "properties": { + "VERSION": { + "type": "array", + "items": { + "type": "object", + "properties": { + "@etat": { + "$ref": "#/definitions/JorfArticleEtat" + }, + "LIEN_ART": { + "type": "object", + "properties": { + "@debut": { + "type": "string" + }, + "@etat": { + "$ref": "#/definitions/JorfArticleEtat" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@origine": { + "$ref": "#/definitions/JorfArticleLienArticleOrigine" + } + }, + "required": ["@debut", "@fin", "@id", "@origine"], + "additionalProperties": false + } + }, + "required": ["LIEN_ART"], + "additionalProperties": false + } + } + }, + "required": ["VERSION"], + "additionalProperties": false + } + }, + "required": ["CONTEXTE", "META", "VERSIONS"], + "additionalProperties": false + }, + "JorfArticleTexteNature": { + "type": "string", + "enum": [ + "ABROGATION", + "Accord multilatéral", + "ACCORD_FONCTION_PUBLIQUE", + "ACCORD", + "ADDITIF", + "ANNEXE", + "ANNONCES", + "ARRANGEMENT", + "ARRET", + "ARRETE", + "ATTESTATION", + "AVENANT", + "AVIS", + "CANDIDAT", + "CHARTE", + "CIRCULAIRE", + "CITATION", + "CODE", + "COMMUNIQUE", + "COMPLEMENT", + "COMPOSITION", + "CONSTITUTION", + "CONTRAT", + "CONVENTION", + "DATE", + "DECISION_CC", + "DECISION_EURO", + "DECISION", + "DECLARATION", + "DECRET_LOI", + "DECRET", + "DELEGATION", + "DELIBERATION", + "DEUXIEME", + "DIRECTIVE", + "ELECTION", + "ELECTIONDUPRESIDENTDELAREPUBLIQU", + "EXEQUATUR", + "INFORMATION", + "INFORMATIONS_CESE", + "INFORMATIONS_DIVERSES", + "INFORMATIONS_PARLEMENTAIRES", + "INSTRUCTION", + "LETTRE", + "LISTE", + "LOI_CONSTIT", + "LOI_ORGANIQUE", + "LOI_PROGRAMME", + "LOI", + "MEMOIRE", + "MODIFICATION", + "OBSERVATION", + "ORDONNANCE", + "PREMIER", + "PROCLAMATION", + "PROJET", + "PROPOSITION", + "PROTOCOLE", + "PUBLICATION", + "RAPPORT", + "RECOMMANDATION", + "RECTIFICATIF", + "REGLEMENT", + "RELEVE", + "REMISE", + "RESULTATS", + "SAISINE", + "SUSPENSION", + "TABLEAU", + "TROISIEME", + "VOCABULAIRE" + ] + }, + "JorfArticleTm": { + "type": "object", + "properties": { + "TITRE_TM": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + }, + "TM": { + "$ref": "#/definitions/JorfArticleTm" + } + }, + "required": ["TITRE_TM"], + "additionalProperties": false + }, + "JorfArticleNature": { + "type": "string", + "enum": ["Article"] + }, + "JorfArticleOrigine": { + "type": "string", + "enum": ["JORF"] + }, + "JorfArticleMetaArticle": { + "type": "object", + "properties": { + "DATE_DEBUT": { + "type": "string" + }, + "DATE_FIN": { + "type": "string" + }, + "MCS_ART": { + "type": "object", + "properties": { + "MC": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["MC"], + "additionalProperties": false + }, + "NUM": { + "type": "string" + }, + "TYPE": { + "$ref": "#/definitions/JorfArticleType" + } + }, + "required": ["DATE_DEBUT", "DATE_FIN"], + "additionalProperties": false + }, + "JorfArticleType": { + "type": "string", + "enum": ["AUTONOME", "ENTIEREMENT_MODIF", "PARTIELLEMENT_MODIF"] + }, + "JorfArticleEtat": { + "type": "string", + "enum": [ + "ABROGE_DIFF", + "ABROGE", + "ANNULE", + "MODIFIE_MORT_NE", + "MODIFIE", + "PERIME", + "TRANSFERE", + "VIGUEUR_DIFF", + "VIGUEUR" + ] + }, + "JorfArticleLienArticleOrigine": { + "type": "string", + "enum": ["JORF", "LEGI"] + }, + "JorfMetaTexteChronicle": { + "type": "object", + "properties": { + "CID": { + "type": "string" + }, + "DATE_PUBLI": { + "type": "string" + }, + "DATE_TEXTE": { + "type": "string" + }, + "NOR": { + "type": "string" + }, + "NUM": { + "type": "string" + }, + "NUM_PARUTION": { + "type": "number" + }, + "NUM_SEQUENCE": { + "type": "number" + }, + "ORIGINE_PUBLI": { + "type": "string" + }, + "PAGE_DEB_PUBLI": { + "type": "number" + }, + "PAGE_FIN_PUBLI": { + "type": "number" + } + }, + "required": ["CID", "DATE_PUBLI", "DATE_TEXTE"], + "additionalProperties": false + }, + "JorfSectionTa": { + "type": "object", + "properties": { + "ID": { + "type": "string" + }, + "COMMENTAIRE": { + "type": "string" + }, + "CONTEXTE": { + "type": "object", + "properties": { + "TEXTE": { + "type": "object", + "properties": { + "@autorite": { + "type": "string" + }, + "@cid": { + "type": "string" + }, + "@date_publi": { + "type": "string" + }, + "@date_signature": { + "type": "string" + }, + "@ministere": { + "type": "string" + }, + "@nature": { + "$ref": "#/definitions/JorfSectionTaTexteNature" + }, + "@nor": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@num_parution_jo": { + "type": "string" + }, + "TITRE_TXT": { + "type": "array", + "items": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@c_titre_court": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id_txt": { + "type": "string" + } + }, + "required": ["#text", "@debut", "@fin", "@id_txt"], + "additionalProperties": false + } + }, + "TM": { + "type": "array", + "items": { + "type": "object", + "properties": { + "TITRE_TM": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + }, + "TM": { + "$ref": "#/definitions/interface-227547911-4541-4692-227547911-0-18835" + } + }, + "required": ["TITRE_TM"], + "additionalProperties": false + } + } + }, + "required": [ + "@cid", + "@date_publi", + "@date_signature", + "TITRE_TXT" + ], + "additionalProperties": false + } + }, + "required": ["TEXTE"], + "additionalProperties": false + }, + "TITRE_TA": { + "type": "string" + }, + "STRUCTURE_TA": { + "$ref": "#/definitions/JorfSectionTaStructure" + } + }, + "required": ["ID", "CONTEXTE"], + "additionalProperties": false + }, + "JorfSectionTaTexteNature": { + "type": "string", + "enum": [ + "Accord multilatéral", + "ACCORD_FONCTION_PUBLIQUE", + "ACCORD", + "ADDITIF", + "ARRETE", + "AVENANT", + "AVIS", + "CIRCULAIRE", + "CONVENTION", + "DECISION", + "DECLARATION", + "DECRET", + "DELIBERATION", + "DIRECTIVE", + "INFORMATIONS_PARLEMENTAIRES", + "INSTRUCTION", + "LISTE", + "LOI_ORGANIQUE", + "LOI", + "MODIFICATION", + "ORDONNANCE", + "PROPOSITION", + "PROTOCOLE", + "RAPPORT", + "RECOMMANDATION", + "REGLEMENT", + "RESULTATS", + "SAISINE", + "TABLEAU" + ] + }, + "interface-227547911-4541-4692-227547911-0-18835": { + "type": "object", + "properties": { + "TITRE_TM": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + }, + "TM": { + "$ref": "#/definitions/interface-227547911-4541-4692-227547911-0-18835" + } + }, + "required": ["TITRE_TM"], + "additionalProperties": false + }, + "JorfSectionTaStructure": { + "type": "object", + "properties": { + "LIEN_ART": { + "type": "array", + "items": { + "$ref": "#/definitions/JorfSectionTaLienArt" + } + }, + "LIEN_SECTION_TA": { + "type": "array", + "items": { + "$ref": "#/definitions/JorfSectionTaLienSectionTa" + } + } + }, + "additionalProperties": false + }, + "JorfSectionTaLienArt": { + "type": "object", + "properties": { + "@debut": { + "type": "string" + }, + "@etat": { + "$ref": "#/definitions/JorfSectionTaLienArtEtat" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@origine": { + "$ref": "#/definitions/JorfSectionTaLienArtOrigine" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + }, + "JorfSectionTaLienArtEtat": { + "type": "string", + "enum": ["VIGUEUR"] + }, + "JorfSectionTaLienArtOrigine": { + "type": "string", + "enum": ["JORF"] + }, + "JorfSectionTaLienSectionTa": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@cid": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@niv": { + "type": "number" + }, + "@url": { + "type": "string" + } + }, + "required": ["@cid", "@debut", "@fin", "@id", "@niv", "@url"], + "additionalProperties": false + }, + "JorfSectionTaLienSectionTaEtat": {}, + "JorfTextelr": { + "type": "object", + "properties": { + "META": { + "type": "object", + "properties": { + "META_COMMUN": { + "type": "object", + "properties": { + "ANCIEN_ID": { + "type": "string" + }, + "ELI_ALIAS": { + "type": "object", + "properties": { + "ID_ELI_ALIAS": { + "type": "string" + } + }, + "required": ["ID_ELI_ALIAS"], + "additionalProperties": false + }, + "ID": { + "type": "string" + }, + "ID_ELI": { + "type": "string" + }, + "NATURE": { + "$ref": "#/definitions/JorfTexteNature" + }, + "ORIGINE": { + "$ref": "#/definitions/JorfTexteOrigine" + }, + "URL": { + "type": "string" + } + }, + "required": ["ID", "ORIGINE", "URL"], + "additionalProperties": false + }, + "META_SPEC": { + "type": "object", + "properties": { + "META_TEXTE_CHRONICLE": { + "$ref": "#/definitions/JorfMetaTexteChronicle" + } + }, + "required": ["META_TEXTE_CHRONICLE"], + "additionalProperties": false + } + }, + "required": ["META_COMMUN", "META_SPEC"], + "additionalProperties": false + }, + "STRUCT": { + "$ref": "#/definitions/JorfTextelrStructure" + }, + "VERSIONS": { + "type": "object", + "properties": { + "VERSION": { + "type": "array", + "items": { + "type": "object", + "properties": { + "@etat": { + "$ref": "#/definitions/JorfTextelrEtat" + }, + "LIEN_TXT": { + "type": "object", + "properties": { + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@num": { + "type": "string" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + } + }, + "required": ["LIEN_TXT"], + "additionalProperties": false + } + } + }, + "required": ["VERSION"], + "additionalProperties": false + } + }, + "required": ["META", "VERSIONS"], + "additionalProperties": false + }, + "JorfTexteNature": { + "type": "string", + "enum": [ + "ABROGATION", + "Accord multilatéral", + "ACCORD_FONCTION_PUBLIQUE", + "ACCORD", + "ACTE", + "ADDITIF", + "ANNEXE", + "ANNONCES", + "ARRANGEMENT", + "ARRET", + "ARRETE", + "ARRETEAVIS", + "ARRETEEURO", + "ARRETEURO", + "ATTESTATION", + "AVENANT", + "AVIS", + "AVISEURO", + "CANDIDAT", + "CHARTE", + "CIRCULAIRE", + "CITATION", + "CODE", + "COMMUNIQUE", + "COMPLEMENT", + "COMPOSITION", + "CONSTITUTION", + "CONTRAT", + "CONVENTION", + "DATE", + "DECISION_CC", + "DECISION_EURO", + "DECISION", + "DECLARATION", + "DECLARATIONEURO", + "DECRET_LOI", + "DECRET", + "DELEGATION", + "DELIBERATION", + "DELIBERATIONEURO", + "DEUXIEME", + "DIRECTIVE_EURO", + "DIRECTIVE", + "DISPOSITIONS", + "ELECTION", + "ELECTIONDUPRESIDENTDELAREPUBLIQU", + "EXEQUATUR", + "INFORMATION", + "INFORMATIONEURO", + "INFORMATIONS_CESE", + "INFORMATIONS_DIVERSES", + "INFORMATIONS_PARLEMENTAIRES", + "INSTRUCTION", + "INSTRUCTIONEURO", + "LETTRE", + "LETTREEURO", + "LISTE", + "LOI_CONSTIT", + "LOI_ORGANIQUE", + "LOI_PROGRAMME", + "LOI", + "MEMOIRE", + "MESSAGE", + "MODIFICATION", + "NOTE", + "OBSERVATION", + "ORDONNANCE", + "PREMIER", + "PROCLAMATION", + "PROJET", + "PROPOSITION", + "PROTOCOLE", + "PUBLICATION", + "RAPPORT", + "RECOMMANDATION", + "RECTIFICATIF", + "REGLEMENT", + "REGLEMENTEUROPEEN", + "RELEVE", + "REMISE", + "RESULTATS", + "SAISINE", + "SENATUS", + "SUSPENSION", + "TABLEAU", + "TRAITE", + "TROISIEME", + "VOCABULAIRE" + ] + }, + "JorfTexteOrigine": { + "type": "string", + "enum": ["JORF"] + }, + "JorfTextelrStructure": { + "type": "object", + "properties": { + "LIEN_ART": { + "type": "array", + "items": { + "$ref": "#/definitions/JorfTextelrLienArt" + } + }, + "LIEN_SECTION_TA": { + "type": "array", + "items": { + "$ref": "#/definitions/JorfTextelrLienSectionTa" + } + } + }, + "additionalProperties": false + }, + "JorfTextelrLienArt": { + "type": "object", + "properties": { + "@debut": { + "type": "string" + }, + "@etat": { + "$ref": "#/definitions/JorfTextelrLienArtEtat" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@origine": { + "$ref": "#/definitions/JorfTextelrLienArtOrigine" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + }, + "JorfTextelrLienArtEtat": { + "type": "string", + "enum": ["VIGUEUR"] + }, + "JorfTextelrLienArtOrigine": { + "type": "string", + "enum": ["JORF"] + }, + "JorfTextelrLienSectionTa": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@cid": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@niv": { + "type": "number" + }, + "@url": { + "type": "string" + } + }, + "required": ["@cid", "@debut", "@fin", "@id", "@niv", "@url"], + "additionalProperties": false + }, + "JorfTextelrEtat": { + "type": "string", + "enum": [ + "ABROGE_DIFF", + "ABROGE", + "ANNULE", + "MODIFIE_MORT_NE", + "MODIFIE", + "PERIME", + "VIGUEUR_DIFF", + "VIGUEUR" + ] + }, + "JorfTextelrLienArtNature": {}, + "JorfTexteVersion": { + "type": "object", + "properties": { + "ABRO": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "ENTREPRISE": { + "type": "object", + "properties": { + "@texte_entreprise": { + "type": "string", + "enum": ["non", "oui"] + }, + "DATES_EFFET": { + "type": "object", + "properties": { + "DATE_EFFET": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["DATE_EFFET"], + "additionalProperties": false + }, + "DOMAINES": { + "type": "object", + "properties": { + "DOMAINE": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["DOMAINE"], + "additionalProperties": false + } + }, + "required": ["@texte_entreprise"], + "additionalProperties": false + }, + "META": { + "type": "object", + "properties": { + "META_COMMUN": { + "type": "object", + "properties": { + "ANCIEN_ID": { + "type": "string" + }, + "ELI_ALIAS": { + "type": "object", + "properties": { + "ID_ELI_ALIAS": { + "type": "string" + } + }, + "required": ["ID_ELI_ALIAS"], + "additionalProperties": false + }, + "ID": { + "type": "string" + }, + "ID_ELI": { + "type": "string" + }, + "NATURE": { + "$ref": "#/definitions/JorfTexteNature" + }, + "ORIGINE": { + "$ref": "#/definitions/JorfTexteOrigine" + }, + "URL": { + "type": "string" + } + }, + "required": ["ID", "ORIGINE", "URL"], + "additionalProperties": false + }, + "META_SPEC": { + "type": "object", + "properties": { + "META_TEXTE_CHRONICLE": { + "$ref": "#/definitions/JorfMetaTexteChronicle" + }, + "META_TEXTE_VERSION": { + "type": "object", + "properties": { + "AUTORITE": { + "type": "string" + }, + "DATE_DEBUT": { + "type": "string" + }, + "DATE_FIN": { + "type": "string" + }, + "LIENS": { + "type": "object", + "properties": { + "LIEN": { + "type": "array", + "items": { + "$ref": "#/definitions/JorfTexteVersionLien" + } + } + }, + "required": ["LIEN"], + "additionalProperties": false + }, + "MCS_TXT": { + "type": "object", + "properties": { + "MC": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["MC"], + "additionalProperties": false + }, + "MINISTERE": { + "type": "string" + }, + "TITRE": { + "type": "string" + }, + "TITREFULL": { + "type": "string" + } + }, + "required": ["DATE_DEBUT", "DATE_FIN"], + "additionalProperties": false + } + }, + "required": ["META_TEXTE_CHRONICLE", "META_TEXTE_VERSION"], + "additionalProperties": false + } + }, + "required": ["META_COMMUN", "META_SPEC"], + "additionalProperties": false + }, + "NOTICE": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "RECT": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "SIGNATAIRES": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "SM": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "TP": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "VISAS": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + } + }, + "required": ["META"], + "additionalProperties": false + }, + "JorfTexteVersionLien": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@cidtexte": { + "type": "string" + }, + "@datesignatexte": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@naturetexte": { + "$ref": "#/definitions/JorfTexteVersionLienNature" + }, + "@nortexte": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@numtexte": { + "type": "string" + }, + "@sens": { + "$ref": "#/definitions/Sens" + }, + "@typelien": { + "$ref": "#/definitions/JorfTexteVersionLienType" + } + }, + "required": ["@sens", "@typelien"], + "additionalProperties": false + }, + "JorfTexteVersionLienNature": { + "type": "string", + "enum": [ + "ABROGATION", + "Accord autonome", + "ACCORD CADRE", + "ACCORD CADRE NATIONAL", + "ACCORD COLLECTIF", + "Accord collectif", + "Accord collectif interbranche", + "Accord collectif national sectoriel", + "Accord collectif national", + "ACCORD COLLECTIF NATIONAL", + "ACCORD DE BRANCHE", + "Accord de branche", + "Accord de champ", + "Accord de convergence", + "Accord de méthode", + "Accord de rattachement", + "Accord de substitution", + "Accord du", + "Accord interbranches", + "Accord interprétatif", + "Accord interprofessionnel départemental", + "Accord interprofessionnel", + "Accord national de branche", + "Accord national interprofessionnel", + "ACCORD NATIONAL PARITAIRE", + "Accord national professionnel", + "ACCORD NATIONAL PROFESSIONNEL", + "ACCORD NATIONAL", + "Accord national", + "Accord paritaire national", + "ACCORD PARITAIRE", + "Accord paritaire", + "ACCORD PROFESSIONNEL", + "Accord professionnel", + "Accord régional", + "Accord territorial", + "ACCORD_FONCTION_PUBLIQUE", + "Accord-cadre interbranches", + "ACCORD-CADRE", + "Accord-cadre", + "Accord-type", + "ACCORD", + "accord", + "Accord", + "ACTE", + "Additif", + "ADDITIF", + "Adhésion par lettre", + "Adhésion", + "Annexe spécifique", + "ANNEXE", + "Annexe", + "ANNEXES", + "ANNONCES", + "ARRET", + "ARRETE", + "ARRETEEURO", + "ARRETEURO", + "ATTESTATION", + "Avenant de révision", + "Avenant rectificatif", + "Avenant", + "avenant", + "AVENANT", + "AVIS D'INTERPRETATION", + "Avis d'interprétation", + "Avis interprétatif", + "AVIS", + "AVISEURO", + "CIRCULAIRE", + "CODE", + "COMMUNIQUE", + "COMPOSITION", + "CONSTITUTION", + "Convention collective de travail", + "Convention collective départementale", + "CONVENTION COLLECTIVE INTERREGIONALE", + "Convention collective interrégionale", + "Convention collective nationale de travail", + "CONVENTION COLLECTIVE NATIONALE", + "Convention collective nationale", + "Convention collective régionale", + "convention collective", + "CONVENTION COLLECTIVE", + "Convention collective", + "Convention de référencement", + "Convention", + "CONVENTION", + "DECISION_CC", + "DECISION_EURO", + "Décision", + "DECISION", + "DECLARATION", + "DECRET_LOI", + "DECRET", + "Délibération", + "DELIBERATION", + "DELIBERATIONEURO", + "Dénonciation par lettre", + "Dénonciation", + "DIRECTIVE_EURO", + "DIRECTIVE", + "ELECTIONDUPRESIDENTDELAREPUBLIQU", + "INFORMATION", + "INFORMATIONS_DIVERSES", + "INFORMATIONS_PARLEMENTAIRES", + "INSTRUCTION", + "INSTRUCTIONEURO", + "Lettre de dénonciation", + "LETTREEURO", + "LISTE", + "LOI_CONSTIT", + "LOI_ORGANIQUE", + "LOI_PROGRAMME", + "LOI", + "MEMOIRE", + "MODIFICATION", + "NOTE", + "OBSERVATION", + "ORDONNANCE", + "Procès-verbal de désaccord", + "PROJET", + "PROTOCOLE D'ACCORD COLLECTIF", + "Protocole d'accord de méthode", + "PROTOCOLE D'ACCORD INTERBRANCHE", + "Protocole D'accord", + "PROTOCOLE D'ACCORD", + "Protocole d'accord", + "Protocole", + "PROTOCOLE", + "PUBLICATION", + "RAPPORT", + "Recommandation patronale", + "RECOMMANDATION_EURO", + "RECOMMANDATION", + "Rectificatif au Bulletin officiel n°", + "REGLEMENT", + "REGLEMENTEUROPEEN", + "RESULTATS", + "SAISINE", + "SALAIRES", + "SENATUS", + "SUSPENSION", + "TABLEAU" + ] + }, + "JorfTexteVersionLienType": { + "type": "string", + "enum": [ + "ABROGATION", + "ABROGE", + "ANNULATION", + "ANNULE", + "APPLICATION", + "CITATION", + "CODIFICATION", + "CONCORDANCE", + "CONCORDE", + "CREATION", + "CREE", + "DENONCE", + "DISJOINT", + "DISJONCTION", + "ELARGISSEMENT", + "ETEND", + "EXTENSION", + "HISTO", + "MODIFICATION", + "MODIFIE", + "PEREMPTION", + "PERIME", + "PILOTE_SUIVEUR", + "RATIFICATION", + "RATIFIE", + "RATTACHEMENT", + "RECTIFICATION", + "RECTIFIE", + "RENVOI", + "RENVOIT", + "SPEC_APPLI", + "TEXTE_SUITE", + "TRANSFERT", + "TRANSPOSITION", + "TXT_ASSOCIE", + "TXT_SOURCE" + ] + }, + "LegiArticle": { + "type": "object", + "properties": { + "BLOC_TEXTUEL": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "CONTEXTE": { + "type": "object", + "properties": { + "TEXTE": { + "type": "object", + "properties": { + "@autorite": { + "type": "string" + }, + "@cid": { + "type": "string" + }, + "@date_publi": { + "type": "string" + }, + "@date_signature": { + "type": "string" + }, + "@ministere": { + "type": "string" + }, + "@nature": { + "$ref": "#/definitions/LegiArticleTexteNature" + }, + "@nor": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@num_parution_jo": { + "type": "string" + }, + "TITRE_TXT": { + "type": "array", + "items": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@c_titre_court": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id_txt": { + "type": "string" + } + }, + "required": [ + "#text", + "@c_titre_court", + "@debut", + "@fin", + "@id_txt" + ], + "additionalProperties": false + } + }, + "TM": { + "$ref": "#/definitions/LegiArticleTm" + } + }, + "required": ["TITRE_TXT"], + "additionalProperties": false + } + }, + "required": ["TEXTE"], + "additionalProperties": false + }, + "LIENS": { + "type": "object", + "properties": { + "LIEN": { + "type": "array", + "items": { + "$ref": "#/definitions/LegiArticleLien" + } + } + }, + "required": ["LIEN"], + "additionalProperties": false + }, + "META": { + "type": "object", + "properties": { + "META_COMMUN": { + "type": "object", + "properties": { + "ANCIEN_ID": { + "type": "string" + }, + "ID": { + "type": "string" + }, + "NATURE": { + "$ref": "#/definitions/LegiArticleNature" + }, + "ORIGINE": { + "$ref": "#/definitions/LegiArticleOrigine" + }, + "URL": { + "type": "string" + } + }, + "required": ["ID", "NATURE", "ORIGINE", "URL"], + "additionalProperties": false + }, + "META_SPEC": { + "type": "object", + "properties": { + "META_ARTICLE": { + "$ref": "#/definitions/LegiArticleMetaArticle" + } + }, + "required": ["META_ARTICLE"], + "additionalProperties": false + } + }, + "required": ["META_COMMUN", "META_SPEC"], + "additionalProperties": false + }, + "NOTA": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "VERSIONS": { + "type": "object", + "properties": { + "VERSION": { + "type": "array", + "items": { + "type": "object", + "properties": { + "@etat": { + "$ref": "#/definitions/LegiArticleEtat" + }, + "LIEN_ART": { + "type": "object", + "properties": { + "@debut": { + "type": "string" + }, + "@etat": { + "$ref": "#/definitions/LegiArticleEtat" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@origine": { + "$ref": "#/definitions/LegiArticleOrigine" + } + }, + "required": ["@debut", "@fin", "@id", "@origine"], + "additionalProperties": false + } + }, + "required": ["LIEN_ART"], + "additionalProperties": false + } + } + }, + "required": ["VERSION"], + "additionalProperties": false + } + }, + "required": ["CONTEXTE", "META", "VERSIONS"], + "additionalProperties": false + }, + "LegiArticleTexteNature": { + "type": "string", + "enum": [ + "ACCORD_FONCTION_PUBLIQUE", + "ARRETE", + "AVIS", + "CIRCULAIRE", + "CODE", + "CONSTITUTION", + "CONVENTION", + "DECISION", + "DECRET_LOI", + "DECRET", + "DELIBERATION", + "DIRECTIVE", + "LOI_CONSTIT", + "LOI_ORGANIQUE", + "LOI_PROGRAMME", + "LOI", + "ORDONNANCE", + "RAPPORT" + ] + }, + "LegiArticleTm": { + "type": "object", + "properties": { + "TITRE_TM": { + "type": "array", + "items": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + } + }, + "required": ["#text", "@debut", "@fin", "@id"], + "additionalProperties": false + } + }, + "TM": { + "$ref": "#/definitions/LegiArticleTm" + } + }, + "required": ["TITRE_TM"], + "additionalProperties": false + }, + "LegiArticleLien": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@cidtexte": { + "type": "string" + }, + "@datesignatexte": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@naturetexte": { + "$ref": "#/definitions/LegiArticleLienNature" + }, + "@nortexte": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@sens": { + "$ref": "#/definitions/Sens" + }, + "@typelien": { + "$ref": "#/definitions/LegiArticleLienType" + } + }, + "required": ["@sens", "@typelien"], + "additionalProperties": false + }, + "LegiArticleLienNature": { + "type": "string", + "enum": [ + "Accord de branche", + "ACCORD_FONCTION_PUBLIQUE", + "Accord", + "ARRETE", + "Avenant", + "AVENANT", + "AVIS", + "CIRCULAIRE", + "CODE", + "CONSTITUTION", + "Convention collective nationale", + "Convention collective", + "CONVENTION", + "DECISION_EURO", + "DECISION", + "DECRET_LOI", + "DECRET", + "DELIBERATION", + "DIRECTIVE_EURO", + "DIRECTIVE", + "INSTRUCTION", + "LOI_CONSTIT", + "LOI_ORGANIQUE", + "LOI_PROGRAMME", + "LOI", + "ORDONNANCE", + "RAPPORT", + "RECOMMANDATION", + "REGLEMENTEUROPEEN" + ] + }, + "LegiArticleLienType": { + "type": "string", + "enum": [ + "ABROGATION", + "ABROGE", + "ANNULATION", + "ANNULE", + "APPLICATION", + "CITATION", + "CODIFICATION", + "CODIFIE", + "CONCORDANCE", + "CONCORDE", + "CREATION", + "CREE", + "DEPLACE", + "DEPLACEMENT", + "DISJOINT", + "DISJONCTION", + "ETEND", + "HISTO", + "MODIFICATION", + "MODIFIE", + "PEREMPTION", + "PERIME", + "PILOTE_SUIVEUR", + "RATIFICATION", + "RATIFIE", + "RECTIFICATION", + "SPEC_APPLI", + "TRANSFERE", + "TRANSFERT", + "TXT_ASSOCIE", + "TXT_SOURCE" + ] + }, + "LegiArticleNature": { + "type": "string", + "enum": ["Article"] + }, + "LegiArticleOrigine": { + "type": "string", + "enum": ["JORF", "LEGI"] + }, + "LegiArticleMetaArticle": { + "type": "object", + "properties": { + "DATE_DEBUT": { + "type": "string" + }, + "DATE_FIN": { + "type": "string" + }, + "ETAT": { + "$ref": "#/definitions/LegiArticleEtat" + }, + "NUM": { + "type": "string" + }, + "TYPE": { + "$ref": "#/definitions/LegiArticleType" + } + }, + "required": ["DATE_DEBUT", "DATE_FIN"], + "additionalProperties": false + }, + "LegiArticleEtat": { + "type": "string", + "enum": [ + "ABROGE_DIFF", + "ABROGE", + "ANNULE", + "DEPLACE", + "DISJOINT", + "MODIFIE_MORT_NE", + "MODIFIE", + "PERIME", + "TRANSFERE", + "VIGUEUR_DIFF", + "VIGUEUR" + ] + }, + "LegiArticleType": { + "type": "string", + "enum": ["AUTONOME", "ENTIEREMENT_MODIF", "PARTIELLEMENT_MODIF"] + }, + "LegiArticleLienArticleOrigine": { + "type": "string", + "enum": ["JORF", "LEGI"] + }, + "LegiSectionTa": { + "type": "object", + "properties": { + "COMMENTAIRE": { + "type": "string" + }, + "CONTEXTE": { + "type": "object", + "properties": { + "TEXTE": { + "type": "object", + "properties": { + "@autorite": { + "type": "string" + }, + "@cid": { + "type": "string" + }, + "@date_publi": { + "type": "string" + }, + "@date_signature": { + "type": "string" + }, + "@ministere": { + "type": "string" + }, + "@nature": { + "$ref": "#/definitions/LegiSectionTaTexteNature" + }, + "@nor": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@num_parution_jo": { + "type": "string" + }, + "TITRE_TXT": { + "type": "array", + "items": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@c_titre_court": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id_txt": { + "type": "string" + } + }, + "required": ["#text", "@debut", "@fin", "@id_txt"], + "additionalProperties": false + } + }, + "TM": { + "type": "array", + "items": { + "type": "object", + "properties": { + "TITRE_TM": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + }, + "TM": { + "$ref": "#/definitions/interface-1251098583-4633-4784-1251098583-0-14353" + } + }, + "required": ["TITRE_TM"], + "additionalProperties": false + } + } + }, + "required": [ + "@cid", + "@date_publi", + "@date_signature", + "TITRE_TXT" + ], + "additionalProperties": false + } + }, + "required": ["TEXTE"], + "additionalProperties": false + }, + "ID": { + "type": "string" + }, + "STRUCTURE_TA": { + "$ref": "#/definitions/LegiSectionTaStructure" + }, + "TITRE_TA": { + "type": "string" + } + }, + "required": ["CONTEXTE", "ID"], + "additionalProperties": false + }, + "LegiSectionTaTexteNature": { + "type": "string", + "enum": [ + "ACCORD_FONCTION_PUBLIQUE", + "ARRETE", + "CODE", + "CONSTITUTION", + "DECISION", + "DECRET_LOI", + "DECRET", + "DELIBERATION", + "DIRECTIVE", + "LOI_CONSTIT", + "LOI_ORGANIQUE", + "LOI_PROGRAMME", + "LOI", + "ORDONNANCE" + ] + }, + "interface-1251098583-4633-4784-1251098583-0-14353": { + "type": "object", + "properties": { + "TITRE_TM": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + }, + "TM": { + "$ref": "#/definitions/interface-1251098583-4633-4784-1251098583-0-14353" + } + }, + "required": ["TITRE_TM"], + "additionalProperties": false + }, + "LegiSectionTaStructure": { + "type": "object", + "properties": { + "LIEN_ART": { + "type": "array", + "items": { + "$ref": "#/definitions/LegiSectionTaLienArt" + } + }, + "LIEN_SECTION_TA": { + "type": "array", + "items": { + "$ref": "#/definitions/LegiSectionTaLienSectionTa" + } + } + }, + "additionalProperties": false + }, + "LegiSectionTaLienArt": { + "type": "object", + "properties": { + "@debut": { + "type": "string" + }, + "@etat": { + "$ref": "#/definitions/LegiSectionTaLienArtEtat" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@origine": { + "$ref": "#/definitions/LegiSectionTaLienArtOrigine" + } + }, + "required": ["@debut", "@fin", "@id", "@origine"], + "additionalProperties": false + }, + "LegiSectionTaLienArtEtat": { + "type": "string", + "enum": [ + "ABROGE_DIFF", + "ABROGE", + "ANNULE", + "DEPLACE", + "DISJOINT", + "MODIFIE_MORT_NE", + "MODIFIE", + "PERIME", + "TRANSFERE", + "VIGUEUR_DIFF", + "VIGUEUR" + ] + }, + "LegiSectionTaLienArtOrigine": { + "type": "string", + "enum": ["LEGI"] + }, + "LegiSectionTaLienSectionTa": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@cid": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@etat": { + "$ref": "#/definitions/LegiSectionTaLienSectionTaEtat" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@niv": { + "type": "number" + }, + "@url": { + "type": "string" + } + }, + "required": ["@cid", "@debut", "@fin", "@id", "@niv", "@url"], + "additionalProperties": false + }, + "LegiSectionTaLienSectionTaEtat": { + "type": "string", + "enum": [ + "ABROGE_DIFF", + "ABROGE", + "ANNULE", + "MODIFIE_MORT_NE", + "MODIFIE", + "PERIME", + "TRANSFERE", + "VIGUEUR_DIFF", + "VIGUEUR" + ] + }, + "LegiMetaTexteChronicle": { + "type": "object", + "properties": { + "CID": { + "type": "string" + }, + "DATE_PUBLI": { + "type": "string" + }, + "DATE_TEXTE": { + "type": "string" + }, + "DERNIERE_MODIFICATION": { + "type": "string" + }, + "NOR": { + "type": "string" + }, + "NUM": { + "type": "string" + }, + "NUM_PARUTION": { + "type": "number" + }, + "NUM_SEQUENCE": { + "type": "number" + }, + "ORIGINE_PUBLI": { + "type": "string" + }, + "PAGE_DEB_PUBLI": { + "type": "number" + }, + "PAGE_FIN_PUBLI": { + "type": "number" + }, + "VERSIONS_A_VENIR": { + "type": "object", + "properties": { + "VERSION_A_VENIR": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["VERSION_A_VENIR"], + "additionalProperties": false + } + }, + "required": ["CID", "DATE_PUBLI", "DATE_TEXTE", "DERNIERE_MODIFICATION"], + "additionalProperties": false + }, + "LegiTextelr": { + "type": "object", + "properties": { + "META": { + "type": "object", + "properties": { + "META_COMMUN": { + "type": "object", + "properties": { + "ANCIEN_ID": { + "type": "string" + }, + "ID": { + "type": "string" + }, + "NATURE": { + "$ref": "#/definitions/LegiTexteNature" + }, + "ORIGINE": { + "$ref": "#/definitions/LegiTexteOrigine" + }, + "URL": { + "type": "string" + } + }, + "required": ["ID", "ORIGINE", "URL"], + "additionalProperties": false + }, + "META_SPEC": { + "type": "object", + "properties": { + "META_TEXTE_CHRONICLE": { + "$ref": "#/definitions/LegiMetaTexteChronicle" + } + }, + "required": ["META_TEXTE_CHRONICLE"], + "additionalProperties": false + } + }, + "required": ["META_COMMUN", "META_SPEC"], + "additionalProperties": false + }, + "STRUCT": { + "$ref": "#/definitions/LegiTextelrStructure" + }, + "VERSIONS": { + "type": "object", + "properties": { + "VERSION": { + "type": "array", + "items": { + "type": "object", + "properties": { + "@etat": { + "$ref": "#/definitions/LegiTexteEtat" + }, + "LIEN_TXT": { + "type": "object", + "properties": { + "@debut": { + "type": "string" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@num": { + "type": "string" + } + }, + "required": ["@debut", "@fin", "@id"], + "additionalProperties": false + } + }, + "required": ["LIEN_TXT"], + "additionalProperties": false + } + } + }, + "required": ["VERSION"], + "additionalProperties": false + } + }, + "required": ["META", "VERSIONS"], + "additionalProperties": false + }, + "LegiTexteNature": { + "type": "string", + "enum": [ + "ACCORD_FONCTION_PUBLIQUE", + "ARRETE", + "AVIS", + "CODE", + "CIRCULAIRE", + "CONSTITUTION", + "CONVENTION", + "DECISION", + "DECLARATION", + "DECRET_LOI", + "DECRET", + "DELIBERATION", + "LOI_CONSTIT", + "LOI_ORGANIQUE", + "LOI", + "ORDONNANCE" + ] + }, + "LegiTexteOrigine": { + "type": "string", + "enum": ["LEGI"] + }, + "LegiTextelrStructure": { + "type": "object", + "properties": { + "LIEN_ART": { + "type": "array", + "items": { + "$ref": "#/definitions/LegiTextelrLienArt" + } + }, + "LIEN_SECTION_TA": { + "type": "array", + "items": { + "$ref": "#/definitions/LegiTextelrLienSectionTa" + } + } + }, + "additionalProperties": false + }, + "LegiTextelrLienArt": { + "type": "object", + "properties": { + "@debut": { + "type": "string" + }, + "@etat": { + "$ref": "#/definitions/LegiTextelrLienArtEtat" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@num": { + "type": "string" + }, + "@origine": { + "$ref": "#/definitions/LegiTextelrLienArtOrigine" + } + }, + "required": ["@debut", "@fin", "@id", "@origine"], + "additionalProperties": false + }, + "LegiTextelrLienArtEtat": { + "type": "string", + "enum": [ + "ABROGE_DIFF", + "ABROGE", + "ANNULE", + "MODIFIE_MORT_NE", + "MODIFIE", + "PERIME", + "TRANSFERE", + "VIGUEUR_DIFF", + "VIGUEUR" + ] + }, + "LegiTextelrLienArtOrigine": { + "type": "string", + "enum": ["LEGI"] + }, + "LegiTextelrLienSectionTa": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@cid": { + "type": "string" + }, + "@debut": { + "type": "string" + }, + "@etat": { + "$ref": "#/definitions/LegiTextelrLienSectionTaEtat" + }, + "@fin": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@niv": { + "type": "number" + }, + "@url": { + "type": "string" + } + }, + "required": ["#text", "@cid", "@debut", "@fin", "@id", "@niv", "@url"], + "additionalProperties": false + }, + "LegiTextelrLienSectionTaEtat": { + "type": "string", + "enum": [ + "ABROGE_DIFF", + "ABROGE", + "ANNULE", + "MODIFIE_MORT_NE", + "MODIFIE", + "PERIME", + "TRANSFERE", + "VIGUEUR_DIFF", + "VIGUEUR" + ] + }, + "LegiTexteEtat": { + "type": "string", + "enum": [ + "ABROGE_DIFF", + "ABROGE", + "ANNULE", + "MODIFIE_MORT_NE", + "MODIFIE", + "PERIME", + "VIGUEUR_DIFF", + "VIGUEUR" + ] + }, + "LegiTexteVersion": { + "type": "object", + "properties": { + "ABRO": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "META": { + "type": "object", + "properties": { + "META_COMMUN": { + "type": "object", + "properties": { + "ANCIEN_ID": { + "type": "string" + }, + "ELI_ALIAS": { + "type": "object", + "properties": { + "ID_ELI_ALIAS": { + "type": "string" + } + }, + "required": ["ID_ELI_ALIAS"], + "additionalProperties": false + }, + "ID": { + "type": "string" + }, + "ID_ELI": { + "type": "string" + }, + "NATURE": { + "$ref": "#/definitions/LegiTexteNature" + }, + "ORIGINE": { + "$ref": "#/definitions/LegiTexteOrigine" + }, + "URL": { + "type": "string" + } + }, + "required": ["ID", "ORIGINE", "URL"], + "additionalProperties": false + }, + "META_SPEC": { + "type": "object", + "properties": { + "META_TEXTE_CHRONICLE": { + "$ref": "#/definitions/LegiMetaTexteChronicle" + }, + "META_TEXTE_VERSION": { + "type": "object", + "properties": { + "AUTORITE": { + "type": "string" + }, + "DATE_DEBUT": { + "type": "string" + }, + "DATE_FIN": { + "type": "string" + }, + "ETAT": { + "$ref": "#/definitions/LegiTexteEtat" + }, + "LIENS": { + "type": "object", + "properties": { + "LIEN": { + "type": "array", + "items": { + "$ref": "#/definitions/LegiTexteVersionLien" + } + } + }, + "required": ["LIEN"], + "additionalProperties": false + }, + "MCS_TXT": { + "type": "object", + "properties": { + "MC": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["MC"], + "additionalProperties": false + }, + "MINISTERE": { + "type": "string" + }, + "TITRE": { + "type": "string" + }, + "TITREFULL": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": ["META_TEXTE_CHRONICLE", "META_TEXTE_VERSION"], + "additionalProperties": false + } + }, + "required": ["META_COMMUN", "META_SPEC"], + "additionalProperties": false + }, + "NOTA": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "RECT": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "SIGNATAIRES": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "TP": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + }, + "VISAS": { + "type": "object", + "properties": { + "CONTENU": { + "type": "string" + } + }, + "required": ["CONTENU"], + "additionalProperties": false + } + }, + "required": ["META"], + "additionalProperties": false + }, + "LegiTexteVersionLien": { + "type": "object", + "properties": { + "#text": { + "type": "string" + }, + "@cidtexte": { + "type": "string" + }, + "@datesignatexte": { + "type": "string" + }, + "@id": { + "type": "string" + }, + "@naturetexte": { + "$ref": "#/definitions/LegiTexteVersionLienNature" + }, + "@num": { + "type": "string" + }, + "@nortexte": { + "type": "string" + }, + "@numtexte": { + "type": "string" + }, + "@sens": { + "$ref": "#/definitions/Sens" + }, + "@typelien": { + "$ref": "#/definitions/LegiTexteVersionLienType" + } + }, + "required": ["@sens", "@typelien"], + "additionalProperties": false + }, + "LegiTexteVersionLienNature": { + "type": "string", + "enum": [ + "ACCORD_FONCTION_PUBLIQUE", + "ARRETE", + "ARRETEEURO", + "AVENANT", + "AVIS", + "CIRCULAIRE", + "CODE", + "CONSTITUTION", + "DECISION_EURO", + "DECISION", + "DECRET_LOI", + "DECRET", + "DELIBERATION", + "DIRECTIVE_EURO", + "INSTRUCTION", + "INSTRUCTIONEURO", + "LOI_CONSTIT", + "LOI_ORGANIQUE", + "LOI_PROGRAMME", + "LOI", + "ORDONNANCE", + "RAPPORT", + "REGLEMENT", + "REGLEMENTEUROPEEN" + ] + }, + "LegiTexteVersionLienType": { + "type": "string", + "enum": [ + "ABROGATION", + "ABROGE", + "ANNULATION", + "ANNULE", + "APPLICATION", + "CITATION", + "CODIFIE", + "CODIFICATION", + "CONCORDANCE", + "CONCORDE", + "CREATION", + "CREE", + "HISTO", + "PILOTE_SUIVEUR", + "MODIFICATION", + "MODIFIE", + "PEREMPTION", + "PERIME", + "RATIFICATION", + "RATIFIE", + "RECTIFICATION", + "SPEC_APPLI", + "TRANSPOSITION", + "TXT_ASSOCIE", + "TXT_SOURCE" + ] + } + } +}