teacup/rnc/pipeline.rnc

48 lines
1.3 KiB
Plaintext
Raw Normal View History

2021-12-15 11:29:23 +00:00
# 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?
}