{
  "title": "English translation of 10.3176/lu.1977.1.12",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "paper_id",
    "source_pages",
    "license_notice",
    "title_en",
    "title_ru",
    "authors",
    "abstract_en",
    "abstract_source",
    "body_md"
  ],
  "allOf": [
    {
      "if": {
        "required": [
          "source_pages"
        ],
        "properties": {
          "source_pages": {
            "minimum": 2
          }
        }
      },
      "then": {
        "properties": {
          "body_md": {
            "pattern": "<!--\\s*source-page:\\s*002\\s*-->",
            "minLength": 1200
          }
        }
      }
    },
    {
      "if": {
        "required": [
          "source_pages"
        ],
        "properties": {
          "source_pages": {
            "minimum": 3
          }
        }
      },
      "then": {
        "properties": {
          "body_md": {
            "pattern": "<!--\\s*source-page:\\s*003\\s*-->",
            "minLength": 1800
          }
        }
      }
    },
    {
      "if": {
        "required": [
          "source_pages"
        ],
        "properties": {
          "source_pages": {
            "minimum": 4
          }
        }
      },
      "then": {
        "properties": {
          "body_md": {
            "pattern": "<!--\\s*source-page:\\s*004\\s*-->",
            "minLength": 2400
          }
        }
      }
    },
    {
      "if": {
        "required": [
          "source_pages"
        ],
        "properties": {
          "source_pages": {
            "minimum": 5
          }
        }
      },
      "then": {
        "properties": {
          "body_md": {
            "pattern": "<!--\\s*source-page:\\s*005\\s*-->",
            "minLength": 3000
          }
        }
      }
    }
  ],
  "properties": {
    "paper_id": {
      "const": "10.3176/lu.1977.1.12",
      "description": "metadata.source_id of the paper translated."
    },
    "source_pages": {
      "type": "integer",
      "const": 5,
      "description": "The scan's page count: 5."
    },
    "license_notice": {
      "const": "Translated from Russian. Original: Adolf Turkin, “Т. И. Жилина, Верхнесысольский диалект коми языка, Отв. ред. Е. С. Гуляев, Москва. Издательство «Наука», 1975, 268 стр. (Академия наук СССР. Коми филиал).”, Linguistica Uralica, 1977, vol. 13 no. 1, pp. 66–70, https://doi.org/10.3176/lu.1977.1.12. Published by Estonian Academy Publishers; license CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) as deposited with Crossref by the publisher (the publisher's policy page names CC BY-NC 4.0). Changes: translated into English.",
      "description": "metadata.license_notice, copied exactly."
    },
    "title_en": {
      "type": "string",
      "minLength": 3,
      "maxLength": 600,
      "not": {
        "anyOf": [
          {
            "pattern": "(?<!<span lang=\"[a-z]{2,3}\">[^<]{0,80})\\p{Script=Cyrillic}{3,}"
          },
          {
            "pattern": "[\\u0008\\u0009\\u000c\\u000d]"
          }
        ]
      }
    },
    "title_ru": {
      "type": "string",
      "minLength": 3,
      "maxLength": 600,
      "pattern": "\\p{Script=Cyrillic}",
      "not": {
        "pattern": "[\\u0008\\u0009\\u000c\\u000d]"
      }
    },
    "authors": {
      "type": "array",
      "minItems": 1,
      "maxItems": 60,
      "items": {
        "type": "string",
        "minLength": 2,
        "maxLength": 200,
        "not": {
          "pattern": "\\p{Script=Cyrillic}"
        }
      }
    },
    "abstract_en": {
      "type": "string",
      "minLength": 80,
      "maxLength": 3000,
      "not": {
        "anyOf": [
          {
            "pattern": "(?<!<span lang=\"[a-z]{2,3}\">[^<]{0,80})\\p{Script=Cyrillic}{3,}"
          },
          {
            "pattern": "[\\u0008\\u0009\\u000c\\u000d]"
          }
        ]
      }
    },
    "abstract_source": {
      "enum": [
        "source",
        "generated"
      ]
    },
    "body_md": {
      "type": "string",
      "minLength": 600,
      "maxLength": 1500000,
      "pattern": "<!--\\s*source-page:\\s*001\\s*-->",
      "not": {
        "anyOf": [
          {
            "pattern": "(?<!<span lang=\"[a-z]{2,3}\">[^<]{0,80})\\p{Script=Cyrillic}{3,}"
          },
          {
            "pattern": "[\\u0008\\u0009\\u000c\\u000d]"
          }
        ]
      },
      "description": "The complete translation in Markdown with LaTeX math, a marker <!-- source-page: 001 -->, <!-- source-page: 002 -->, … for every page of the scan."
    },
    "translator_notes": {
      "type": "array",
      "maxItems": 300,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "page",
          "note"
        ],
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999
          },
          "note": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          }
        }
      }
    },
    "produced_with": {
      "type": "string",
      "maxLength": 2000
    }
  }
}
