code-srv-test/dita-ot-3.6/resources/plugin.rnc
2021-03-23 22:38:58 +00:00

82 lines
1.8 KiB
Text

# This file is part of the DITA Open Toolkit project.
#
# Copyright 2014 Jarno Elovirta
#
# See the accompanying LICENSE file for applicable license.
plugin =
element plugin {
attribute id { xsd:NCName },
attribute version { version }?,
(feature | transtype | extension-point | require | metadata | template)*
}
feature =
element feature {
attribute extension { xsd:NCName },
(attribute file { text }
| (attribute value { text },
attribute type { "file" | "text" }?))?,
anyElement*
}
transtype =
element transtype {
attribute name {
list { xsd:NCName+ }
},
attribute desc { text }?,
attribute abstract { xsd:boolean }?,
attribute extends {
list { xsd:NCName+ }
}?,
param*
}
param =
element param {
attribute required { xsd:boolean }?,
attribute deprecated { xsd:boolean }?,
attribute name {
list { xsd:NCName+ }
}?,
attribute desc { text }?,
param.val
}
param.val |=
attribute type { "enum" },
val*
param.val |=
attribute type { "string" },
val*
param.val |= attribute type { "file" | "dir" | "uri" }
val =
element val {
attribute desc { text }?,
attribute default { xsd:boolean }?,
text
}
extension-point =
element extension-point {
attribute id { xsd:NCName },
attribute name { text }
}
require =
element require {
attribute plugin { xsd:NCName },
attribute version { version }?,
attribute importance { "required" | "optional" }?
}
version = text
metadata =
element metadata {
attribute type { xsd:NCName },
attribute value { text }
}
template =
element template {
attribute file { text }
}
anyElement =
element * {
(attribute * { text }
| text
| anyElement)*
}
start = plugin