Resin Environment Relax-NG SchemaResin 3.0
Resin

Change Log
Documentation

Orientation
Features
Installation
Configuration
Web Applications
JSP
Servlets and Filters
Databases
Admin (JMX)
Security
XML and XSLT
XTP
Resources (JNDI)
Performance
Protocols
Third-party
Troubleshooting

env
web-app
resin.conf
log
el vars
init
index
Common Tasks
Relax Schema
Config FAQ
Scrapbook

Environment
Resin J2EE
Resin web.xml
resin.conf
J2EE Common
J2EE web.xml
Relax Schema
Relax Schema
Resin J2EE

The formal definition for the Resin environment configuration.

Relax-NG Schema
com/caucho/server/resin/env.rnc
namespace local = ""
namespace L = ""
default namespace r = "http://caucho.com/ns/resin"

r_path =  string
r_boolean = string
r_int = string
r_period = string
r_kbytes = string

resin_any = text | (attribute * {string} | element * { resin_any })*

resin_env =
  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*

  & r_javac?

  & jndi-link*

  & log*

  & r_persistent-store*

  & reference*

  & r_resource*

  & r_resource-deploy*

  & r_stderr-log?

  & r_stdout-log?

  & r_system-property*

  & temp-dir?

  & work-dir?

r_authenticator = element authenticator {
  r_jndi-name?,

  r_type,

  r_init?
}

r_arg = element arg { r_any }

r_case-insensitive =
  attribute case-insensitive { r_boolean }
  | element case-insensitive { r_boolean }

r_character-encoding =
  attribute character-encoding { string }
  | element character-encoding { string }

r_class = attribute class { string } | element class { string }

class-loader = element class-loader {
  simple-loader*

  & library-loader*

  & r_compiling-loader*

  & r_enhancer*

  & r_make-loader*

  & servlet-hack?

  & r_tree-loader*
}

r_cluster = element cluster {
  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*
}

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 always-load { string } | element always-load { string })?,

  (attribute always-save { string } | element always-save { string })?
}

r_cluster-port-Contents =
  (attribute id { string }
   | attribute server-id { string }
   | element server-id { string })?

  & (attribute port { string } | element port { string })

  & (attribute host { string } | element host { string })?

  & (attribute tcp-no-delay { string } | element tcp-no-delay { string })?

  & (r_openssl | jsse-ssl)?

  & (attribute index { string } | element index { string })?

  & (attribute backup { string } | element backup { string })?

  & (attribute protocol { string } | element protocol { string })?

r_cluster-port =
  element port { r_cluster-port-Contents }
  | element srun { r_cluster-port-Contents }

r_connection-factory = element connection-factory {
  r_jndi-name,

  r_type?,

  r_init?
}

r_connection-listener = element connection-listener {
  r_type?,

  r_init?,

  r_endpoint-factory?
}

r_connector = element connector {
  r_type

  & r_resource-adapter?

  & r_connection-factory*

  & r_connection-listener*
}

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_compiling-loader = element compiling-loader {
  path

  & (attribute args { string } | element args { string })*

  & (attribute encoding { string } | element encoding { string })?

  & (attribute require-source { r_boolean }   | element require-source { r_boolean })?

  & (attribute source { r_path }   | element source { r_path })?
}

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-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 }
     | element ping { r_boolean })?

  & (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 spy { r_boolean }
     | element spy { r_boolean })?

  & (attribute xa { r_boolean } | element xa { r_boolean })?
}

r_data-source =
  attribute data-source { string } | element data-source { string }

r_driver = element driver {
  (r_type

  & r_any?)

  | r_data-source
}

r_endpoint-factory = element endpoint-factory {
  r_type?,

  r_init?
}

r_env-entry = element env-entry {
  (attribute env-entry-name { string } | element env-entry-name { string }),
  (attribute env-entry-type { string } | element env-entry-type { string }),
  (attribute env-entry-value { string } | element env-entry-value { string })?
}

r_ejb-server = element ejb-server {
  r_jndi-name?

  & (attribute auto-compile { r_boolean }
     | element auto-compile { r_boolean })?

  & (attribute ejb-descriptor { string } | element ejb-descriptor { string })?

  & (attribute create-database-schema { r_boolean }
    | element create-database-schema { r_boolean })?

  & (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 }
    | element config-directory { r_path })?

  & (attribute ejb-jar { r_path }
    | element ejb-jar { r_path })*

  & (attribute forbid-jvm-call { r_boolean }
    | element forbid-jvm-call { r_boolean })?

  & (attribute jdbc-isolation { string }
    | element jdbc-isolation { string })?

  & (attribute resin-isolation { string }
    | element resin-isolation { string })?

  & (attribute transaction-timeout { r_period }
    | element transaction-timeout { r_period })?

  & (attribute validate-database-schema { r_boolean }
    | element validate-database-schema { r_boolean })?

  & (attribute jms-connection-factory { string }
    | element jms-connection-factory { string })?
}

encoding = attribute encoding { string } | element encoding { string }

r_enhancer = element enhancer {
  r_resin-type,

  r_any*
}

r_enhancing-loader = element enhancing-loader {
  path

  & r_enhancer*
}

r_formatter = element formatter {
  r_resin-type,

  r_any
}

r_grant = element grant {
  r_permission*
}

r_handback =
  attribute handback { string }
  | element handback {
      attribute resin:type { string },
      r_any
    }

r_init = element init {
  resin_any
}

r_init-param = element init-param {
  r_description*,

  (((attribute param-name { string }  | element param-name { string }),
    (attribute param-value { string } | element param-value { string})) |
   (attribute * - (param-name | param-value) { string }))
}

r_javac = element javac {
  (attribute compiler { string } | element compiler { string })

  & (attribute args { string } | element args { string })?

  & (attribute encoding { string } | element encoding { string })?
}

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 }

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 certificate-key-file { string }
     | element certificate-key-file { string} )?

  & (attribute password { string } | element password { string} )

  & (attribute cipher-suite { string } | element cipher-suite { string } )?

  & (attribute ca-certificate-file { string }
     | element ca-certificate-file { string} )?

  & (attribute ca-certificate-path { string }
     | element ca-certificate-path { string} )?

  & r_verify-client?
}

library-loader = element library-loader {
  path
}

r_listener-Resource = element listener {
  r_mbean-name,

  r_handback*
}

log = element log {
  r_name?,

  r_log-Content
}

r_log-Content =
  (attribute path { r_path } | element path { r_path })

  & (attribute archive-format { string }
     | element archive-format { string })?

  & r_formatter*

  & (attribute level { string } | element level { 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 })?

  & (attribute use-parent-handlers { r_boolean }
     | element use-parent-handlers { r_boolean })?

r_make-loader = element make-loader { resin_any }

r_mbean = element mbean {
  r_name,

  (r_type,

  r_arg*)?,

  (r_init*

  & r_listener-Resource*)
}

r_mbean-name = 
  attribute mbean-name { string } | element mbean-name { string }

r_mbean-interface = 
  attribute mbean-interface { string } | element mbean-interface { string }

r_name = attribute name { string } | element name { string }

path = attribute path { r_path } | element path { r_path }

r_permission = element permission {
  r_type,

  r_arg*
}

r_persistent-store = element persistent-store {
  r_jndi-name,

  (attribute type { string } | element type { string }),

  r_init?
}

reference = element reference {
  r_jndi-name,

  (attribute factory { string  } | element factory { string }),

  r_init-param*
}

r_resin-class =
  attribute r:class { string }
  | attribute resin-class { string }

r_resin-type =
  attribute r: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*

  & r_listener-Resource*)
}

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_resource-ref = element resource-ref {
  element res-ref-name { string },

  element res-type { string }
}

servlet-hack =
  attribute servlet-hack { r_boolean }
  | element servlet-hack { r_boolean }
  
simple-loader = element simple-loader {
  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 }
}

temp-dir =
  attribute temp-dir { r_path } | element temp-dir { r_path }

r_tree-loader = element tree-loader {
  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"

work-dir =
  attribute work-dir { r_path } | element work-dir { r_path }


Relax Schema
Relax Schema
Resin J2EE
Copyright © 1998-2003 Caucho Technology, Inc. All rights reserved.
Resin® is a registered trademark, and HardCoretm and Quercustm are trademarks of Caucho Technology, Inc.