Resin Environment Relax-NG SchemaResin 3.0
Resin 3.0

Features
Installation
Configuration
Web Applications
IOC/AOP
Resources
JSP
Servlets and Filters
Portlets
Databases
Admin (JMX)
CMP
EJB
Amber
EJB 3.0
Security
XML and XSLT
XTP
JMS
Performance
Protocols
Third-party
Troubleshooting/FAQ

index
howto
resin.conf
env
web-app
log
el control
Bean Config
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"

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 }


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