48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
|
# 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 <andrew.sales@bloomsbury.com>
|
||
|
# 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?
|
||
|
}
|