All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schemas.configuration.rnc Maven / Gradle / Ivy

default namespace local = ""
namespace cc = "http://xmlcalabash.com/ns/configuration"

xmlid.attr = attribute xml:id { xsd:ID }
xmlbase.attr = attribute xml:base { xsd:anyURI }

common.attributes = xmlid.attr?, xmlbase.attr?, extension.attr*

# ============================================================

start = XProcConfiguration

# ============================================================

XProcConfiguration =
   element cc:xproc-config {
      common.attributes,
      (NotCC|CCConfig)*
   }

NotCC =
   element (* - cc:*) {
      (_any.attr | text | Any)*
   }

CCConfig =
   CCSchema | CCBinding | CCDebug | CCEntityResolver
 | CCInput | CCLogLevel | CCLibrary | CCOutput | CCOption | CCWithParam
 | CCSafe | SSStepName | CCURIResolver | CCImplementation
 | CCPipeline | CCStepErrorListener | CCSerialization | CCExtensionFunction
 | CCFOProcessor | CCCSSProcessor | CCXProcConfigurer | CCDefaultSystemProperty
 | CCExtension | CCHTMLParser

CCStepErrorListener =
   element cc:step-error-listener {
      common.attributes,
      attribute class-name { xsd:NMTOKEN },
      empty
   }

CCSerialization =
   element cc:serialization {
      common.attributes,
      attribute byte-order-mark { xsd:boolean }?,
      attribute cdata-section-elements { text }?,
      attribute doctype-public { text }?,
      attribute doctype-system { text }?,
      attribute encoding { text }?,
      attribute escape-uri-attributes { xsd:boolean }?,
      attribute include-content-type { xsd:boolean }?,
      attribute indent { xsd:boolean }?,
      attribute media-type { text }?,
      attribute method { "xml" | "xhtml" | "text" | "xml" }?,
      attribute normalization-form { text }?,
      attribute omit-xml-declaration { xsd:boolean }?,
      attribute standalone { text }?,
      attribute undeclare-prefixes { xsd:boolean }?,
      attribute version { text }?,
      empty
   }

CCExtensionFunction =
   element cc:extension-function {
      common.attributes,
      attribute class-name { xsd:NMTOKEN },
      empty
   }

CCFOProcessor =
   element cc:fo-processor {
      common.attributes,
      attribute class-name { xsd:NMTOKEN },
      empty
   }

CCCSSProcessor =
   element cc:css-processor {
      common.attributes,
      attribute class-name { xsd:NMTOKEN },
      empty
   }

CCXProcConfigurer =
   element cc:xproc-configurer {
      common.attributes,
      attribute class-name { xsd:NMTOKEN },
      empty
   }

CCDefaultSystemProperty =
   element cc:default-system-property {
      common.attributes,
      attribute name { xsd:NMTOKEN },
      attribute value { text },
      empty
   }

CCExtension =
   element cc:extension {
      common.attributes,
      attribute name { xsd:NMTOKEN },
      attribute value { text },
      empty
   }

CCHTMLParser =
   element cc:html-parser {
      common.attributes,
      attribute value { "validator.nu" | "tagsoup" },
      empty
   }

CCSchema =
   element cc:schema-aware {
      common.attributes,
      xsd:boolean
   }

CCBinding =
   element cc:namespace-binding {
      common.attributes,
      attribute prefix { text },
      attribute uri { xsd:anyURI },
      empty
   }

CCDebug =
   element cc:debug {
      common.attributes,
      xsd:boolean
   }

CCEntityResolver =
   element cc:entity-resolver {
      common.attributes,
      attribute class-name { xsd:NMTOKEN },
      empty
   }

CCInput =
   element cc:input {
      common.attributes,
      attribute port { xsd:NMTOKEN },
      attribute href { xsd:anyURI }?,
      Any?
   }

CCLogLevel =
   element cc:log-level {
      common.attributes,
      attribute logger { xsd:NMTOKEN }?,
      attribute level {
         "finest" | "finer" | "fine" | "info"
       | "warning" | "error" | "severe"
      },
      empty
   }

CCLibrary =
   element cc:library {
      common.attributes,
      attribute href { xsd:anyURI }?,
      Any?
   }

CCOutput =
   element cc:output {
      common.attributes,
      attribute port { xsd:NMTOKEN },
      attribute href { xsd:anyURI },
      empty
   }

CCOption =
   element cc:with-option {
      common.attributes,
      attribute name { xsd:QName },
      attribute value { text }?
   }

CCWithParam =
   element cc:with-param {
      common.attributes,
      attribute port { xsd:NMTOKEN }?,
      attribute name { xsd:QName },
      attribute value { text }?
   }

CCSafe =
   element cc:safe-mode {
      common.attributes,
      xsd:boolean
   }

SSStepName =
   element cc:step-name {
      common.attributes,
      xsd:NMTOKEN
   }

CCURIResolver =
   element cc:uri-resolver {
      common.attributes,
      attribute class-name { xsd:NMTOKEN },
      empty
   }

CCImplementation =
   element cc:implementation {
      common.attributes,
      attribute type { xsd:QName },
      attribute class-name { xsd:NMTOKEN },
      empty
   }

CCPipeline =
   element cc:pipeline {
      common.attributes,
      attribute href { xsd:anyURI }?,
      Any?
   }

# ============================================================

_any.attr =
   attribute * { text }

extension.attr =
   attribute (* - (local:*|xml:*)) { text }

Any =
   element * {
      (_any.attr | text | Any)*
   }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy