# Schema to model pipelines in the Bloomsbury XML CMS. # # A pipeline consists of at least one step, to be executed # by the processor sequentially, in document order. # # In the case of a transform step, the output of one step # is passed to the following step. # # Note that attribute failOnError is NOT specified for the # transform step, since a failed transformation will result # in non-well-formed output (if at all) that cannot be # passed on to the next step. # # The input into a pipeline is expected to be a single # document. The output of the final (non-validation) step # is one or more documents. # # The output location is implementation-defined. # # Author: Andrew Sales # Date: 20170629 # Version: 0.1 # Comments: default namespace = "http://cms.bloomsbury.com/pipeline" start = element pipeline { attribute id { xsd:ID }, attribute name { xsd:NCName }, step+ } step = transform | validate label = attribute label{text} transform = element transform { attribute href { xsd:anyURI }, label? } validate = element validate { attribute failOnError { xsd:boolean }?, #whether to abort if validation errors occur attribute href { xsd:anyURI }, label? }