{
  "enumDefs": [
    {
      "name": "MediaUsage",
      "description":"The media usage types",
      "typeVersion": "1.0",
      "elementDefs": [
        {
          "ordinal": 0,
          "value": "ICON"
        },
        {
          "ordinal": 1,
          "value": "THUMBNAIL"
        },
        {
          "ordinal": 2,
          "value": "ILLUSTRATION"
        },
        {
          "ordinal": 3,
          "value": "USAGE_GUIDANCE"
        },
        {
          "ordinal": 99,
          "value": "OTHER"
        }
      ]
    },
    {
      "name": "MediaType",
      "description": "The media type",
      "typeVersion": "1.0",
      "elementDefs": [
        {
          "ordinal": 1,
          "value": "IMAGE"
        },
        {
          "ordinal": 2,
          "value": "VIDEO"
        },
        {
          "ordinal": 3,
          "value": "SOUND"
        },
        {
          "ordinal": 4,
          "value": "DOCUMENT"
        },
        {
          "ordinal": 99,
          "value": "OTHER"
        }
      ]
    }
  ],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [
    {
      "name": "EmbeddedMedia",
      "description":"EmbeddedMedia is media embedded in a metadata object. Media such as images allow an icon, thumbnail and larger images to be associated with a metadata element.  They are intended to be displayed with the metadata content. This media enriches the description of the object and may include, for example, design drawings, photographs or illustrations of the component in action.",
      "superTypes": [
        "Referenceable"
      ],
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "uri",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "version",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "description",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "organization",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "mediaUsage",
          "typeName": "array<MediaUsage>",
          "cardinality": "SINGLE",
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "mediaType",
          "typeName": "array<MediaType>",
          "cardinality": "SINGLE",
          "isOptional": true,
          "isUnique": false
        }
      ]
    },
    {
      "name": "ExternalReference",
      "description":"External References link metadata to elements in external repositories.",
      "superTypes": [
        "Referenceable"
      ],
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "displayName",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "uri",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "version",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "description",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        },
        {
          "name": "organization",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true,
          "isUnique": false
        }
      ]
    }
  ],
  "relationshipDefs": [
    {
      "name": "ExternalReferenceLink",
      "description":"External reference links relate metadata to elements in external repositories.",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "relatedEntities",
        "type": "ExternalReference",
        "cardinality": "SET"
      },
      "endDef2": {
        "name": "externalReferences",
        "type": "Referenceable",
        "cardinality": "SET"
      },
      "relationshipCategory": "ASSOCIATION",
      "attributeDefs": [
        {
          "name": "referenceId",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        },
        {
          "name": "description",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        }
      ]
    },
    {
      "name": "MediaReference",
      "description":"Media reference relates metadata and media elements within this metadata repository.",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "consumingEntities",
        "type": "EmbeddedMedia",
        "cardinality": "SET"
      },
      "endDef2": {
        "name": "embeddedMetadata",
        "type": "Referenceable",
        "cardinality": "SET"
      },
      "relationshipCategory": "ASSOCIATION",
      "attributeDefs": [
        {
          "name": "mediaId",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        },
        {
          "name": "description",
          "typeName": "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional": true
        }
      ]
    }
  ]
}
