# Schema to model products in the Bloomsbury XML CMS. # # A product is defined as one or more content items to be # published for sale or other distribution. # # Each item of content is represented by an , whose # id attribute is the unique identifier used by the CMS for # that item. # # Similar items are grouped using . # The source and target content types express respectively: # - the "true" content type (i.e. as mastered and managed); and # - the content type specific to the product. # The latter need not be given: if it is absent, the target # content type should be assumed to be the same as the source # content type. # # product/(@name,@description) are machine- and human-readable # labels for the product, respectively. # # content/@label is an optional, product-specific label for the # group of items. # # content/@pipelineRef refers to the ID of a pipeline to be # used to process the content on publication from the system. # # product/@pipelineRef is provided for the same purpose, but for # all content included in the product. # # Author: Andrew Sales # Date: 20170629 # Version: 0.1 # Comments: default namespace = "http://cms.bloomsbury.com/product-manifest" start = element product { attribute id { xsd:ID }, attribute name { xsd:NCName }, attribute who { text }?, #creator/last editor attribute when { xsd:dateTime }?, #date of this version attribute description { text }?, attribute pipelineRef{ xsd:NCName }?, attribute taxonomyRef{ xsd:NCName }, element content { source-content-type-att, target-content-type-att?, attribute label { text }?, attribute pipelineRef{ xsd:NCName }?, element item { attribute from { xsd:date }?, attribute id { xsd:NCName }, attribute to { xsd:date }? }+ }+ } source-content-type-att = attribute sourceContentType { source-content-types } target-content-type-att = attribute targetContentType { target-content-types } source-content-types = string "archive" | string "article" | string "audio" | string "building" | string "drama" | string "exhibition" | string "image" | string "looseleaf" | string "monograph" | string "museumCollection" | string "museumExhibition" | string "organisation" | string "person" | string "reference" | string "timeline" | string "video" target-content-types = source-content-types | string "monographAsReference" | string "dictionary"