From d08209f68b749ed94bec711a9ec4140e377ba480 Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Fri, 13 Jul 2018 15:37:03 -0400 Subject: [PATCH] Extracted the IPTC abstract schemas tot he \external\iptc folder. --- .../media-timed-asset-reference.schema.json | 81 ++----------------- schemas/external/iptc/creator.example.1.json | 4 + schemas/external/iptc/creator.schema.json | 31 +++++++ schemas/external/iptc/episode.example.1.json | 3 + schemas/external/iptc/episode.schema.json | 42 ++++++++++ schemas/external/iptc/rating.example.1.json | 3 + schemas/external/iptc/rating.schema.json | 41 ++++++++++ schemas/external/iptc/season.example.1.json | 3 + schemas/external/iptc/season.schema.json | 42 ++++++++++ schemas/external/iptc/series.example.1.json | 4 + schemas/external/iptc/series.schema.json | 37 +++++++++ 11 files changed, 215 insertions(+), 76 deletions(-) create mode 100644 schemas/external/iptc/creator.example.1.json create mode 100644 schemas/external/iptc/creator.schema.json create mode 100644 schemas/external/iptc/episode.example.1.json create mode 100644 schemas/external/iptc/episode.schema.json create mode 100644 schemas/external/iptc/rating.example.1.json create mode 100644 schemas/external/iptc/rating.schema.json create mode 100644 schemas/external/iptc/season.example.1.json create mode 100644 schemas/external/iptc/season.schema.json create mode 100644 schemas/external/iptc/series.example.1.json create mode 100644 schemas/external/iptc/series.schema.json diff --git a/schemas/context/media-timed-asset-reference.schema.json b/schemas/context/media-timed-asset-reference.schema.json index 8ab7b7c15f..8b4dc52047 100644 --- a/schemas/context/media-timed-asset-reference.schema.json +++ b/schemas/context/media-timed-asset-reference.schema.json @@ -37,22 +37,9 @@ "description": "The type of content e.g. Trailer, Full Episode." }, "iptc4xmpExt:Series": { - "type": "object", "title": "Series", "description": "The series the show belongs to.", - "properties": { - "iptc4xmpExt:Name": { - "title": "Series Name", - "type": "string", - "description": "Name of the series." - }, - "iptc4xmpExt:Identifier": { - "title": "Series Identifier", - "type": "string", - "format": "uri", - "description": "Identifier of the series." - } - } + "$ref": "http://www.iptc.org/series" }, "xdm:streamFormat": { "title": "Stream Format", @@ -60,50 +47,14 @@ "description": "Free-form format of the stream (e.g. short, long)." }, "iptc4xmpExt:Season": { - "type": "object", "title": "Season", "description": "The season the show belongs to.", - "properties": { - "iptc4xmpExt:Name": { - "title": "Season Name", - "type": "string", - "description": "Name of the season." - }, - "iptc4xmpExt:Number": { - "title": "Season Number", - "type": "number", - "description": "Number of the season." - }, - "iptc4xmpExt:Identifier": { - "title": "Session Identifier", - "type": "string", - "format": "uri", - "description": "Identifier of the season." - } - } + "$ref": "http://www.iptc.org/season" }, "iptc4xmpExt:Episode": { - "type": "object", "title": "Episode", "description": "The episode the show belongs to.", - "properties": { - "iptc4xmpExt:Name": { - "title": "Episode Name", - "type": "string", - "description": "Name of the episode." - }, - "iptc4xmpExt:Number": { - "title": "Season Number", - "type": "number", - "description": "Number of the episode." - }, - "iptc4xmpExt:Identifier": { - "title": "Episode Identifier", - "type": "string", - "format": "uri", - "description": "Identifier of the episode." - } - } + "$ref": "http://www.iptc.org/episode" }, "iptc4xmpExt:Genre": { "title": "Genre", @@ -118,23 +69,7 @@ "description": "The rating as defined by Parental Guidelines.", "type": "array", "items": { - "properties": { - "iptc4xmpExt:RatingValue": { - "title": "Episode Name", - "type": "string", - "description": "Rating value as issued by the rating source." - }, - "iptc4xmpExt:RatingSourceLink": { - "title": "Episode Identifier", - "type": "string", - "format": "uri", - "description": "Link to the site and optionally the page of the party which has issued the rating value, linked resource should explain the rating rules." - } - }, - "required": [ - "iptc4xmpExt:RatingValue", - "iptc4xmpExt:RatingSourceLink" - ] + "$ref": "http://www.iptc.org/rating" } }, "iptc4xmpExt:Creator": { @@ -142,13 +77,7 @@ "description": "Party or parties (person or organisation) which created the video, refinement by the role attribute.", "type": "array", "items": { - "properties": { - "iptc4xmpExt:Name": { - "title": "Creator Name", - "type": "string", - "description": "Full name of the Creator." - } - } + "$ref": "http://www.iptc.org/creator" } } }, diff --git a/schemas/external/iptc/creator.example.1.json b/schemas/external/iptc/creator.example.1.json new file mode 100644 index 0000000000..61596de908 --- /dev/null +++ b/schemas/external/iptc/creator.example.1.json @@ -0,0 +1,4 @@ +{ + "iptc4xmpExt:Name": "nba_highlights", + "iptc4xmpExt:Identifier": "http://espn.com/series-identifiers/2613953" +} diff --git a/schemas/external/iptc/creator.schema.json b/schemas/external/iptc/creator.schema.json new file mode 100644 index 0000000000..41f55c8257 --- /dev/null +++ b/schemas/external/iptc/creator.schema.json @@ -0,0 +1,31 @@ +{ + "meta:license": [ + "Copyright 2018 Adobe Systems Incorporated. All rights reserved.", + "This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license", + "you may not use this file except in compliance with the License. You may obtain a copy", + "of the License at https://creativecommons.org/licenses/by/4.0/" + ], + "$id": "http://www.iptc.org/creator", + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "Creator", + "type": "object", + "description": + "The creator of the show. Based on [www.iptc.org](https://www.iptc.org/std/videometadatahub/recommendation/pre-versions/IPTC-VideoMetadataHub-props-Rec_1.1.html)", + "definitions": { + "creator": { + "properties": { + "iptc4xmpExt:Name": { + "title": "Creator Name", + "type": "string", + "description": "Full name of the Creator." + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/creator" + } + ], + "meta:status": "experimental" +} diff --git a/schemas/external/iptc/episode.example.1.json b/schemas/external/iptc/episode.example.1.json new file mode 100644 index 0000000000..434ed29639 --- /dev/null +++ b/schemas/external/iptc/episode.example.1.json @@ -0,0 +1,3 @@ +{ + "iptc4xmpExt:Number": 1.0 +} diff --git a/schemas/external/iptc/episode.schema.json b/schemas/external/iptc/episode.schema.json new file mode 100644 index 0000000000..0442ace401 --- /dev/null +++ b/schemas/external/iptc/episode.schema.json @@ -0,0 +1,42 @@ +{ + "meta:license": [ + "Copyright 2018 Adobe Systems Incorporated. All rights reserved.", + "This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license", + "you may not use this file except in compliance with the License. You may obtain a copy", + "of the License at https://creativecommons.org/licenses/by/4.0/" + ], + "$id": "http://www.iptc.org/season", + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "Episode", + "type": "object", + "description": + "The season the show belongs to. Based on [www.iptc.org](https://www.iptc.org/std/videometadatahub/recommendation/pre-versions/IPTC-VideoMetadataHub-props-Rec_1.1.html)", + "definitions": { + "episode": { + "properties": { + "iptc4xmpExt:Name": { + "title": "Episode Name", + "type": "string", + "description": "Name of the episode." + }, + "iptc4xmpExt:Number": { + "title": "Episode Number", + "type": "number", + "description": "Number of the episode." + }, + "iptc4xmpExt:Identifier": { + "title": "Episode Identifier", + "type": "string", + "format": "uri", + "description": "Identifier of the episode." + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/episode" + } + ], + "meta:status": "experimental" +} diff --git a/schemas/external/iptc/rating.example.1.json b/schemas/external/iptc/rating.example.1.json new file mode 100644 index 0000000000..434ed29639 --- /dev/null +++ b/schemas/external/iptc/rating.example.1.json @@ -0,0 +1,3 @@ +{ + "iptc4xmpExt:Number": 1.0 +} diff --git a/schemas/external/iptc/rating.schema.json b/schemas/external/iptc/rating.schema.json new file mode 100644 index 0000000000..c48fb8c536 --- /dev/null +++ b/schemas/external/iptc/rating.schema.json @@ -0,0 +1,41 @@ +{ + "meta:license": [ + "Copyright 2018 Adobe Systems Incorporated. All rights reserved.", + "This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license", + "you may not use this file except in compliance with the License. You may obtain a copy", + "of the License at https://creativecommons.org/licenses/by/4.0/" + ], + "$id": "http://www.iptc.org/rating", + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "Rating", + "type": "object", + "description": + "The rating of the show. Based on [www.iptc.org](https://www.iptc.org/std/videometadatahub/recommendation/pre-versions/IPTC-VideoMetadataHub-props-Rec_1.1.html)", + "definitions": { + "rating": { + "properties": { + "iptc4xmpExt:RatingValue": { + "title": "Rating Value", + "type": "string", + "description": "Rating value as issued by the rating source." + }, + "iptc4xmpExt:RatingSourceLink": { + "title": "Rating Source Link", + "type": "string", + "format": "uri", + "description": "Link to the site and optionally the page of the party which has issued the rating value, linked resource should explain the rating rules." + } + }, + "required": [ + "iptc4xmpExt:RatingValue", + "iptc4xmpExt:RatingSourceLink" + ] + } + }, + "allOf": [ + { + "$ref": "#/definitions/rating" + } + ], + "meta:status": "experimental" +} diff --git a/schemas/external/iptc/season.example.1.json b/schemas/external/iptc/season.example.1.json new file mode 100644 index 0000000000..434ed29639 --- /dev/null +++ b/schemas/external/iptc/season.example.1.json @@ -0,0 +1,3 @@ +{ + "iptc4xmpExt:Number": 1.0 +} diff --git a/schemas/external/iptc/season.schema.json b/schemas/external/iptc/season.schema.json new file mode 100644 index 0000000000..afa09aab44 --- /dev/null +++ b/schemas/external/iptc/season.schema.json @@ -0,0 +1,42 @@ +{ + "meta:license": [ + "Copyright 2018 Adobe Systems Incorporated. All rights reserved.", + "This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license", + "you may not use this file except in compliance with the License. You may obtain a copy", + "of the License at https://creativecommons.org/licenses/by/4.0/" + ], + "$id": "http://www.iptc.org/episode", + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "Season", + "type": "object", + "description": + "The season the show belongs to. Based on [www.iptc.org](https://www.iptc.org/std/videometadatahub/recommendation/pre-versions/IPTC-VideoMetadataHub-props-Rec_1.1.html)", + "definitions": { + "season": { + "properties": { + "iptc4xmpExt:Name": { + "title": "Season Name", + "type": "string", + "description": "Name of the season." + }, + "iptc4xmpExt:Number": { + "title": "Season Number", + "type": "number", + "description": "Number of the season." + }, + "iptc4xmpExt:Identifier": { + "title": "Season Identifier", + "type": "string", + "format": "uri", + "description": "Identifier of the season." + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/season" + } + ], + "meta:status": "experimental" +} diff --git a/schemas/external/iptc/series.example.1.json b/schemas/external/iptc/series.example.1.json new file mode 100644 index 0000000000..61596de908 --- /dev/null +++ b/schemas/external/iptc/series.example.1.json @@ -0,0 +1,4 @@ +{ + "iptc4xmpExt:Name": "nba_highlights", + "iptc4xmpExt:Identifier": "http://espn.com/series-identifiers/2613953" +} diff --git a/schemas/external/iptc/series.schema.json b/schemas/external/iptc/series.schema.json new file mode 100644 index 0000000000..b35beb6add --- /dev/null +++ b/schemas/external/iptc/series.schema.json @@ -0,0 +1,37 @@ +{ + "meta:license": [ + "Copyright 2018 Adobe Systems Incorporated. All rights reserved.", + "This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license", + "you may not use this file except in compliance with the License. You may obtain a copy", + "of the License at https://creativecommons.org/licenses/by/4.0/" + ], + "$id": "http://www.iptc.org/series", + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "Series", + "type": "object", + "description": + "The series the show belongs to. Based on [www.iptc.org](https://www.iptc.org/std/videometadatahub/recommendation/pre-versions/IPTC-VideoMetadataHub-props-Rec_1.1.html)", + "definitions": { + "series": { + "properties": { + "iptc4xmpExt:Name": { + "title": "Series Name", + "type": "string", + "description": "Name of the series." + }, + "iptc4xmpExt:Identifier": { + "title": "Series Identifier", + "type": "string", + "format": "uri", + "description": "Identifier of the series." + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/series" + } + ], + "meta:status": "experimental" +}