{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "schema:HyperToc",
  "title": "HyperToc",
  "description": "A HyperToc represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. Items in the table of contents are indicated using the [[tocEntry]] property, and typed [[HyperTocEntry]]. For cases where the same larger work is split into multiple files, [[associatedMedia]] can be used on individual [[HyperTocEntry]] items.",
  "type": "object",
  "allOf": [
    {
      "description": "The most generic kind of creative work, including books, movies, photographs, software programs, etc.",
      "$ref": "schema:CreativeWork"
    }
  ],
  "properties": {
    "associatedMedia": {
      "description": "A media object that encodes this CreativeWork. This property is a synonym for encoding.",
      "$ref": "schema:MediaObject"
    },
    "tocEntry": {
      "description": "Indicates a [[HyperTocEntry]] in a [[HyperToc]].",
      "oneOf": [
        { "$ref": "schema:HyperTocEntry" },
        { "type": "array", "items": { "$ref": "schema:HyperTocEntry" } }
      ]
    }
  }
}
