namespace local = ""
namespace L = ""
default namespace r = "http://caucho.com/ns/resin"
namespace rcore = "http://caucho.com/ns/resin/core"
include "../resin/resin-j2ee.rnc"
r_boolean-Type =
"true"
| "false"
| "yes"
| "no"
r_jndi = string
r_int = string
r_period = string
r_kbytes = string
r_path-Type = string
r_int-Type = string
r_period-Type = string
r_kbytes-Type = string
r_jndi-Type = string
r_class-Type = string
r_any-Group = text | (attribute * {string} | element * { r_any-Group })*
## The basic environment tags
r_env-Basis =
r_authenticator*
& r_case-insensitive?
& r_character-encoding?
& r_cluster?
& r_cluster-definition*
& r_connector*
& r_ejb-server*
& r_env-entry*
& r_database*
& r_dependency*
& r_dependency-check-interval?
& r_grant*
& rcore_import*
& rcore_include*
& r_javac?
& r_jndi-link*
& r_log*
& r_reference*
& r_resource*
& r_resource-deploy*
& r_stderr-log?
& r_stdout-log?
& r_system-property*
& r_temp-dir?
& r_work-dir?
& rcore_log*
& rcore_set*
& rcore_include*
## The environment, including control structures
r_env-Flow =
r_env-Basis
& element rcore:env { r_class-loader-Group, r_env-Flow }*
& element rcore:if { rcore_if-Args, r_env-Flow }*
& element rcore:choose {
element rcore:when { rcore_when-Args, r_env-Flow }+,
element rcore:otherwise { r_env-Flow }?
}*
## The environment contents
r_env-Content = r_env-Flow
r_authenticator = element authenticator {
r_jndi-name?,
r_type,
r_init?
}
r_arg = element arg { r_any-Group }
r_case-insensitive =
attribute case-insensitive { r_boolean-Type }
| element case-insensitive { r_boolean-Type }
r_character-encoding =
attribute character-encoding { string }
| element character-encoding { string }
r_class = attribute class { string } | element class { string }
r_class-loader = element class-loader {
r_simple-loader*
& r_library-loader*
& r_compiling-loader*
& r_enhancer*
& r_make-loader*
& r_servlet-hack?
& r_tree-loader*
}
r_class-loader-Group =
r_class-loader?
r_cluster = element cluster {
r_cluster-ref
| (attribute id { string }?
& (r_cluster-port* | r_cluster-group*)
& r_cluster-store?)
}
r_cluster-definition = element cluster-definition {
attribute id { string },
(r_cluster-port* | r_cluster-group*)
}
r_cluster-group = element group {
r_cluster-port*
}
r_cluster-ref =
(attribute cluster-ref { string } | element cluster-ref { string })
r_cluster-store = element cluster-store {
r_jndi-name?
& ((attribute path { string } | element path { string })
| ((attribute type { string} | element type { string })
& r_init*)
)
& (attribute always-load { string } | element always-load { string })?
& (attribute always-save { string } | element always-save { string })?
}
r_cluster-port-Content =
(attribute id { string }
| attribute server-id { string }
| element server-id { string })?
& (attribute backup { string } | element backup { string })?
& (attribute dead-time { r_period } | element dead-time { r_period })?
& (attribute host { string } | element host { string })?
& (attribute index { string } | element index { string })?
& (attribute live-time { r_period } | element live-time { r_period })?
& (r_openssl | r_jsse-ssl)?
& (attribute port { string } | element port { string })
& (attribute protocol { string } | element protocol { string })?
& (attribute socket-listen-backlog { r_int-Type }
| element socket-listen-backlog { r_int-Type })?
& (attribute tcp-no-delay { r_boolean-Type }
| element tcp-no-delay { r_boolean-Type })?
& (attribute timeout { r_period } | element tcp-no-delay { r_period })?
r_cluster-port =
element port { r_cluster-port-Content }
| element srun { r_cluster-port-Content }
r_compiling-loader = element compiling-loader {
r_path
& (attribute args { string }
| element args { string })*
& (attribute batch { string }
| element batch { string })?
& (attribute encoding { string }
| element encoding { string })?
& (attribute require-source { r_boolean-Type }
| element require-source { r_boolean-Type })?
& (attribute source { r_path-Type }
| element source { r_path-Type })?
& (attribute source-extension { string }
| element source-extension { string })?
& (attribute compiler { string }
| element compiler { string })?
}
r_connection-factory = element connection-factory {
r_jndi-name
& r_type?
& r_init?
& (attribute local-transaction-optimization { r_boolean-Type }
| element local-transaction-optimization { r_boolean-Type })?
& (attribute shareable { r_boolean-Type }
| element shareable { r_boolean-Type })?
}
r_connector = element connector {
r_type,
r_resource-adapter?,
(r_connection-factory*
& r_connector-message-listener*
& r_connector-resource*)
}
r_connector-message-listener = element message-listener {
r_type?,
r_init?,
r_endpoint-factory
}
r_connector-resource = element resource {
r_jndi-name?,
r_type?,
r_init?
}
r_database = element database {
r_jndi-name
& r_driver+
& (attribute user { string }
| element user { string })?
& (attribute password { string }
| element password { string })?
& (attribute connection-wait-time { r_period }
| element connection-wait-time { r_period })?
& (attribute max-active-time { r_period }
| element max-active-time { r_period })?
& (attribute max-connections { r_int }
| element max-connections { r_int })?
& (attribute max-create-connections { r_int }
| element max-create-connections { r_int })?
& (attribute max-idle-time { r_period }
| element max-idle-time { r_period })?
& (attribute max-overflow-connections { r_int }
| element max-overflow-connections { r_int })?
& (attribute max-pool-time { r_period }
| element max-pool-time { r_period })?
& (attribute ping { r_boolean-Type }
| element ping { r_boolean-Type })?
& (attribute ping-table { string }
| element ping-table { string })?
& (attribute ping-query { string }
| element ping-query { string })?
& (attribute ping-interval { r_period }
| element ping-interval { r_period })?
& (attribute prepared-statement-cache-size { r_int }
| element prepared-statement-cache-size { r_int })?
& (attribute save-allocation-stack-trace { r_boolean-Type }
| element save-allocation-stack-trace { r_boolean-Type })?
& (attribute spy { r_boolean-Type }
| element spy { r_boolean-Type })?
& (attribute transaction-timeout { r_period }
| element transaction-timeout { r_period })?
& (attribute xa { r_boolean-Type }
| element xa { r_boolean-Type })?
}
r_data-source =
attribute data-source { string }
| element data-source { string }
r_dependency = element dependency {
(attribute path { string }
| element path { string })
}
r_dependency-check-interval =
attribute dependency-check-interval { r_period }
| element dependency-check-interval { r_period }
r_driver = element (driver|backup-driver) {
(r_type,
r_any-Group?)
| r_data-source
}
r_endpoint-factory = element endpoint-factory {
r_type,
r_init?
}
rcore_env-Args =
r_class-loader?
r_ejb-server = element ejb-server {
r_jndi-name?
& (attribute auto-compile { r_boolean-Type }
| element auto-compile { r_boolean-Type })?
& (attribute ejb-descriptor { string }
| element ejb-descriptor { string })?
& (attribute create-database-schema { r_boolean-Type }
| element create-database-schema { r_boolean-Type })?
& (attribute cache-size { r_int }
| element cache-size { r_int })?
& (attribute cache-timeout { r_period }
| element cache-timeout { r_period })?
& (attribute data-source { r_jndi }
| element data-source { r_jndi })?
& (attribute config-directory { r_path-Type }
| element config-directory { r_path-Type })?
& (attribute ejb-jar { r_path-Type }
| element ejb-jar { r_path-Type })*
& (attribute forbid-jvm-call { r_boolean-Type }
| element forbid-jvm-call { r_boolean-Type })?
& (attribute jdbc-isolation { string }
| element jdbc-isolation { string })?
& (attribute resin-isolation { string }
| element resin-isolation { string })?
& (attribute startup-mode { string }
| element startup-mode { string })?
& (attribute transaction-timeout { r_period }
| element transaction-timeout { r_period })?
& (attribute validate-database-schema { r_boolean-Type }
| element validate-database-schema { r_boolean-Type })?
& (attribute jms-connection-factory { string }
| element jms-connection-factory { string })?
}
r_encoding =
attribute encoding { string }
| element encoding { string }
r_enhancer = element enhancer {
r_resin-type,
r_any-Group*
}
r_enhancing-loader = element enhancing-loader {
r_path
& r_enhancer*
}
r_fileset = element fileset {
(attribute dir { r_path-Type }
| element dir { r_path-Type })
& r_fileset-exclude*
& r_fileset-include*
}
r_fileset-exclude = element exclude {
attribute name { string }
| element name { string }
}
r_fileset-include = element include {
attribute name { string }
| element name { string }
}
r_formatter = element formatter {
r_resin-type,
r_any-Group
}
r_grant = element grant {
r_permission*
}
r_handback =
attribute handback { string }
| element handback {
r_resin-type,
r_any-Group
}
r_handler = element handler {
r_resin-type,
r_any-Group
}
rcore_if-Args =
attribute test { string }
rcore_include =
element rcore:include {
attribute path { string }
| attribute href { string }
}
| element resin:include {
attribute path { string }
| attribute href { string }
}
rcore_import = element rcore:import {
((attribute path { string }
| element path { string })
| r_fileset)
& (attribute optional { string }
| element optional { string })?
}
r_init = element init {
r_any-Group
}
r_init-param-Content =
r_description*,
(((attribute param-name { string } | element param-name { string }),
(attribute param-value { string } | element param-value { string }))
| attribute * { string }
| element * - (param-name | param-value | r_description) { string })*
r_init-param = element init-param {
r_init-param-Content
}
r_javac = element javac {
(attribute compiler { string }
| element compiler { string })
& (attribute args { string }
| element args { string })?
& (attribute encoding { string }
| element encoding { string })?
}
r_jndi-link = element jndi-link {
r_jndi-name
& (attribute factory { string }
| element factory { string })?
& (attribute foreign-name { string }
| element foreign-name { string })?
& r_init-param*
}
r_jndi-name =
attribute jndi-name { string }
| element jndi-name { string }
r_jsse-ssl = element jsse-ssl {
(attribute key-store-file { string }
| element key-store-file { string })
& (attribute password { string }
| element password { string })
& (attribute key-store-type { string }
| element key-store-type { string })?
& (attribute ssl-context { string }
| element ssl-context { string })?
& (attribute key-manager-factory { string }
| element key-manager-factory { string })?
}
r_openssl = element openssl {
(attribute certificate-file { string }
| element certificate-file { string })
& (attribute password { string }
| element password { string })
& (attribute ca-certificate-file { string }
| element ca-certificate-file { string })?
& (attribute ca-certificate-path { string }
| element ca-certificate-path { string })?
& (attribute certificate-chain-file { string }
| element certificate-chain-file { string })?
& (attribute certificate-key-file { string }
| element certificate-key-file { string })?
& (attribute cipher-suite { string }
| element cipher-suite { string })?
& (attribute protocol { string }
| element protocol { string })?
& (attribute session-cache { r_boolean-Type }
| element session-cache { r_boolean-Type })?
& (attribute session-cache-timeout { r_period }
| element session-cache-timeout { r_period } )?
& r_verify-client?
& (attribute verify-depth { r_int }
| element verify-depth { r_int })?
}
r_library-loader = element library-loader {
r_path
| r_fileset
}
rcore_log = element rcore:log {
string
}
r_log = element log {
r_logger-Content?
& r_logger*
& (r_handler | r_log-Content)
& (r_formatter
| (attribute format { string }
| element format { string }))?
}
r_log-Content =
(attribute path { r_path-Type }
| element path { r_path-Type })
& (attribute archive-format { string }
| element archive-format { string })?
& (attribute rollover-period { r_period }
| element rollover-period { r_period })?
& (attribute rollover-size { r_kbytes }
| element rollover-size { r_kbytes })?
& (attribute rollover-count { r_kbytes }
| element rollover-count { r_kbytes })?
& (attribute timestamp { string }
| element timestamp { string })?
r_logger = element logger {
r_logger-Content
}
r_logger-Content =
(attribute name { string }
| element name { string })
& (attribute level { string }
| element level { string })?
& (attribute use-parent-handlers { r_boolean-Type }
| element use-parent-handlers { r_boolean-Type })?
r_make-loader = element make-loader { r_any-Group }
r_mbean = element mbean {
r_name,
(r_type,
r_arg*)?,
(r_init*
& r_mbean-listener*)
}
r_mbean-name =
attribute mbean-name { string }
| element mbean-name { string }
r_mbean-interface =
attribute mbean-interface { string }
| element mbean-interface { string }
r_mbean-listener = element mbean-listener {
r_mbean-name,
r_handback*
}
r_name =
attribute name { string }
| element name { string }
r_path =
attribute path { r_path-Type }
| element path { r_path-Type }
r_permission = element permission {
r_type,
r_arg*
}
r_reference = element reference {
r_jndi-name,
(attribute factory { string } | element factory { string }),
r_init-param*
}
r_resin-type =
attribute rcore:type { string }
| attribute resin:type { string }
r_resource = element resource {
(r_jndi-name?
& r_mbean-name?
& r_mbean-interface?),
(r_type,
r_arg*)?,
(r_init*
& (attribute local-transaction-optimization { r_boolean-Type }
| element local-transaction-optimization { r_boolean-Type })?
& r_mbean-listener*
& (attribute shareable { r_boolean-Type }
| element shareable { r_boolean-Type })?
)
}
r_resource-adapter = element resource-adapter {
r_jndi-name?,
r_init?
}
r_resource-deploy = element resource-deploy {
(attribute path { string }
| element path { string })
& (attribute expand-path { string }
| element expand-path { string })?
}
r_servlet-hack =
attribute servlet-hack { r_boolean-Type }
| element servlet-hack { r_boolean-Type }
rcore_set = element rcore:set {
attribute * { string }+
}
r_simple-loader = element simple-loader {
r_path,
(attribute prefix { string }
| element prefix {string})?
}
r_stderr-log = element stderr-log {
r_log-Content
}
r_stdout-log = element stdout-log {
r_log-Content
}
r_system-property = element system-property {
(attribute * { string })+
}
r_temp-dir =
attribute temp-dir { r_path-Type }
| element temp-dir { r_path-Type }
r_tree-loader = element tree-loader {
r_path
}
r_type =
attribute type { string }
| element type { string }
r_verify-client =
attribute verify-client { r_verify-client-Type }
| element verify-client { r_verify-client-Type }
r_verify-client-Type =
"optional-no-ca"
| "optional"
| "require"
rcore_when-Args =
attribute test { string }
r_work-dir =
attribute work-dir { r_path-Type }
| element work-dir { r_path-Type }