Configuration is based on element-only XML like the Servlet 2.2 deployment descriptors.

For convenience, Resin allows any element to be used as an attribute. This syntactic sugar makes the configuration files more readable and maintainable.

Using the syntactic sugar, the following are equivalent:

<deftable>
<foo><bar>13</bar></foo>canonical representation, but verbose
<foo bar=13/>typical configuration
<foo><bar id=13/></foo>Useful for a key-based list. </deftable>

In general, the order is not important, but the nesting depth is.

The special element resin:include can be used in any place to read in another file.

<def> caucho.com ::= log* | java | jsp | smtp.vfs | env-entry* | resource-ref* | ejb-ref* | jndi-link* env-entry* | user-name | group-name | http-server log ::= id | href | timestamp java ::= compiler | work-dir | compiler-args smtp.vfs ::= host | port http-server ::= http* | srun* | srun-backup* | thread-max | thread-keepalive | request-timeout | cache | host* | classpath* | http ::= host | port | ssl (default: ) | key-store-type (default: ) | key-store-file | key-store-password | certificate-pem || key-pem srun ::= host | port ssl (default: ) | key-store-type (default: ) | key-store-file | key-store-password srun-backup ::= host | port | ssl (default: ) | key-store-type (default: ) | key-store-file | key-store-password cache ::= dir | entries | size host ::= id | regexp | app-dir | error-log | access-log* | war-dir* | web-app* | access-log ::= id | format | web-app ::= id | url-regexp | app-dir | servlet-mapping* | servlet* | filter-mapping* | filter* | classpath* | class-update-interval | context-param* | session-config | error-page* | path-mapping* | mime-mapping* | cache-mapping* | chain-mapping* | welcome-file-list | character-encoding | directory-servlet | jsp | taglib* | temp-dir | resource-ref* | env-entry* | resource-ref* | ejb-ref* | jndi-link* servlet-mapping ::= url-pattern | url-regexp | servlet-name | path-info | servlet-class | init-param* | load-on-startup | run-at* servlet ::= servlet-name | servlet-class | init-param* | load-on-startup | run-at* init-param ::= param-name | param-value | classpath ::= id | source (default: same as id) | compile (default: ) context-param ::= param-name | param-value ejb-ref ::= ejb-ref-name | ejb-ref-factory | init-param browser-mapping ::= regexp | force10 cache-mapping ::= url-pattern | url-regexp | expires env-entry ::= env-entry-name | env-entry-type | env-entry-value error-page ::= location | exception | error-code filter-mapping ::= mime-type | servlet-name jndi-link ::= jndi-name | property-file | jndi-factory | init-param mime-mapping ::= extension | mime-type path-mapping ::= url-pattern | url-regexp | real-path resource-ref ::= res-ref-name | res-type | init-param* session-config ::= session-timeout | session-max | enable-cookies | enable-url-rewriting </def>