stefano 2003/02/21 15:01:19
Modified: src/webapp/WEB-INF cocoon.xconf Log: merging all xconf files from core into the cocoon configuration improved readability by adding some documentation PLEASE, look into it and fill the gaps that I couldn't fill myself!!!!!!!!!!!! Revision Changes Path 1.59 +483 -267 xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf Index: cocoon.xconf =================================================================== RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- cocoon.xconf 20 Feb 2003 18:17:47 -0000 1.58 +++ cocoon.xconf 21 Feb 2003 23:01:19 -0000 1.59 @@ -1,233 +1,476 @@ <?xml version="1.0" encoding="UTF-8"?> -<cocoon version="2.0"> -<!-- ================ Apache Cocoon configuration file ================== --> -<!-- For full description of the components and their parameters ... - - Apache Cocoon User Documentation at /userdocs/ - - webapp/WEB-INF/cocoon.xconf (this file) - describes each core component - - each optional component/.../*.xconf - these describe the parameters - for each component and are automatically included at build-time. - - The notes that accompany the settings below are intended to be concise. ---> - -<!-- ===================== General Components =========================== --> - - <xml-parser class="org.apache.excalibur.xml.impl.JaxpParser" - logger="core.xml-parser" pool-grow="4" pool-max="32" pool-min="8"> - - <!-- Parser: - The default parser used in Apache Cocoon is - org.apache.excalibur.xml.impl.JaxpParser. Apache Cocoon requires a - JAXP 1.1 parser. - If you have problems because your servlet environment uses its own - parser not conforming to JAXP 1.1 try using the alternative - XercesParser instead of the JaxpParser. To activate the XercesParser, - change the class attribute to - class="org.apache.excalibur.xml.impl.XercesParser" - You will also need to add a system property to your JVM, - probably on the startup of your servlet engine like this: - -Dorg.apache.excalibur.xml.sax.SAXParser=org.apache.excalibur.xml.impl.XercesParser - - Configuration for the JaxpParser (not the XercesParser!): - - validate (boolean, default = false): This parameter causes the parser - to be a validating parser. - XML validation is only being used for the documentation build. - (If you are going to use it elsewhere, then do so with caution.) - You really should have validated all of your XML documents already, - according to their proper DTD or schema. Do not expect Cocoon to do it. - - namespace-prefixes (boolean, default = false) : do we want - namespaces declarations also as 'xmlns:' attributes ? - Note : setting this to true confuses some XSL processors (e.g. Saxon). - - stop-on-warning (boolean, default = true) : should the parser - stop parsing if a warning occurs ? - - stop-on-recoverable-error (boolean, default = true) : should the parser - stop parsing if a recoverable error occurs ? - - reuse-parsers (boolean, default = true) : do we want to reuse - parsers or create a new parser for each parse ? - Note : even if this parameter is true, parsers are not - recycled in case of parsing errors : some parsers (e.g. Xerces) don't like - to be reused after failure. - - sax-parser-factory (string) : the name of the SAXParserFactory - implementation class to be used instead of using the standard JAXP mechanism - (SAXParserFactory.newInstance()). This allows to choose - unambiguously the JAXP implementation to be used when several of them are - available in the classpath. - - document-builder-factory (string) : the name of the - DocumentBuilderFactory implementation to be used (similar to - sax-parser-factory for DOM). - --> +<cocoon version="2.1"> + +<!--+ + | This is the Apache Cocoon configuration file. This is the place + | where you configure the components that Cocoon uses internally (stuff + | like the cache, for example) or handles to the pipeline components + | (stuff like XML parsers or XSLT processors). + +--> + +<!-- =========================== Sitemap =============================== --> + + <!--+ + | New implementation of the sitemap. It is interpreted, so load times are super-fast, + | and request processing is slightly faster than with the compiled engine thanks to + | the HotSpot VM. + | + | Reloading of the sitemap: + | The check-reload attribute determines if the sitemap is reloaded on change. + | Set to "no", the sitemap is generated once at startup. + | Set to "yes", the sitemap is regenerated if it changes. + | + | For development environment, set the check-reload to yes. + | For production environment, it is advisable to set the check-reload to no. + | + +--> + <sitemap + file="context://sitemap.xmap" + check-reload="yes" + config="resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml" + logger="sitemap" + /> + +<!-- ========================= Sitemap Flowscript ========================== --> + + <!--+ + | The <flow-interpreters> element is used to describe the flowscript + | engines usedd by the current instance. Currently JavaScript is the + | only flowscript engine available. + | + | The attributes recognized by the <flow-interpreters> element are: + | + | default (string value): + | + | the default interpreted language assumed for <map:script> + | elements which do not specify a "language" attribute. If not + | present, the first language that's described within the + | <flow-interpreters> element is assumed to be the default + | language. + | + | Within <flow-interpreters> only <component-instance> elements are + | recognized. The attributes recognized by this element are "name" + | and "class". "name" specifies the name of a scripting language, + | and "class" defines the Java class that implements it. See + | org.apache.cocoon.components.flow.Interpreter for the Cocoon + | interface with an scripting language interpreter. + | + | A <component-instance> element contains as subelements the + | following elements: + | + | reload-scripts (boolean value, default false): + | + | whether to check if the scripts source files are + | modified. Checking for modification is an expensive + | operation, so leave it disabled in a production + | environment. If not present it is assumed to be "false". When + | "true" *all* script files are checked for modification on + | each function invocation done using <map:call + | function="...">, but not more frequent than the value of + | "check-time" (see below). + | + | check-time (long value, default 1000): + | + | time in miliseconds between the checks for the last + | modification date of script files. + | + | debugger (boolean value, default false): + | + | whether support for the JavaScript debugger should be enabled + | in the control flow. + +--> + <flow-interpreters default="JavaScript" logger="flow"> + <component-instance name="JavaScript" class="org.apache.cocoon.components.flow.javascript.JavaScriptInterpreter"> + <load-on-startup>resource://org/apache/cocoon/components/flow/javascript/system.js</load-on-startup> + <reload-scripts>true</reload-scripts> + <check-time>4000</check-time> + <!-- <debugger>enabled</debugger> --> <!-- JavaScript Debugger support --> + </component-instance> + + <!-- Temporarily disable Scheme, until full support is completed --> + + <!--component-instance name="Scheme" class="org.apache.cocoon.components.flow.scheme.SchemeInterpreter"> + <load-on-startup>resource://org/apache/cocoon/components/flow/scheme/system.scm</load-on-startup> + <heap>/WEB-INF/sisc.heap</heap> + </component-instance--> + </flow-interpreters> + + <!--+ + | Configuration for the continuations manager. + | + | This section specifies the default time-to-live of continuations + | in miliseconds using the "time-to-live" attribute of + | the <continuations-manager> element. + | + | The <expirations-check> element specifies different policies for + | expiring continuations. Currently only the "periodic" type is + | supported. + +--> + <continuations-manager logger="flow" time-to-live="3600000"> + <expirations-check type="periodic"> + <offset>180000</offset> + <period>180000</period> + </expirations-check> + </continuations-manager> + +<!-- =================== Sitemap Input/Output Modules ====================== --> + + <!--+ + | + | + | + | + | + | ???? + | + | + | + | + | + | + +--> + <input-modules> + <component-instance logger="core.modules.input" name="global" class="org.apache.cocoon.components.modules.input.GlobalInputModule"/> + <component-instance logger="core.modules.input" name="request" class="org.apache.cocoon.components.modules.input.RequestModule"/> + <component-instance logger="core.modules.input" name="session" class="org.apache.cocoon.components.modules.input.SessionModule"/> + <component-instance logger="core.modules.input" name="request-param" class="org.apache.cocoon.components.modules.input.RequestParameterModule"/> + <component-instance logger="core.modules.input" name="raw-request-param" class="org.apache.cocoon.components.modules.input.RawRequestParameterModule"/> + <component-instance logger="core.modules.input" name="request-attr" class="org.apache.cocoon.components.modules.input.RequestAttributeModule"/> + <component-instance logger="core.modules.input" name="request-header" class="org.apache.cocoon.components.modules.input.HeaderAttributeModule"/> + <component-instance logger="core.modules.input" name="session-attr" class="org.apache.cocoon.components.modules.input.SessionAttributeModule"/> + <component-instance logger="core.modules.input" name="system-property" class="org.apache.cocoon.components.modules.input.SystemPropertyModule"/> + <component-instance logger="core.modules.input" name="constant" class="org.apache.cocoon.components.modules.input.StringConstantModule"/> + <component-instance logger="core.modules.input" name="random" class="org.apache.cocoon.components.modules.input.RandomNumberModule"/> + <component-instance logger="core.modules.input" name="digest" class="org.apache.cocoon.components.modules.input.DigestMetaModule"/> + <component-instance logger="core.modules.input" name="date" class="org.apache.cocoon.components.modules.input.DateInputModule"> + <!-- <format>EEE, d MMM yyyy HH:mm:ss Z</format> --> + <!--Eg: Mon, 28 Oct 2002 03:08:49 +1100 --> + </component-instance> + <component-instance logger="core.modules.input" name="nullinput" class="org.apache.cocoon.components.modules.input.NullInputModule"/> + <component-instance logger="core.modules.input" name="xmlmeta" class="org.apache.cocoon.components.modules.input.XMLMetaModule"/> + <component-instance logger="core.modules.input" name="mapmeta" class="org.apache.cocoon.components.modules.input.MapMetaModule"/> + <component-instance logger="core.modules.input" name="datemeta" class="org.apache.cocoon.components.modules.input.DateMetaInputModule"/> + <component-instance logger="core.modules.input" name="xmlform" class="org.apache.cocoon.components.modules.input.XMLFormInput"/> + <component-instance logger="core.modules.input" name="jxpath" class="org.apache.cocoon.components.modules.input.JXPathMetaModule"/> + <component-instance logger="core.modules.input" name="simplemap" class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"/> + <component-instance logger="core.modules.input" name="chain" class="org.apache.cocoon.components.modules.input.ChainMetaModule"> + <input-module name="request-param"/> + <input-module name="request-attr"/> + <input-module name="session-attr"/> + <input-module name="defaults"/> + </component-instance> + </input-modules> + + <!--+ + | + | + | + | + | + | ???? + | + | + | + | + | + | + +--> + <output-modules> + <component-instance logger="core.modules.output" name="request-attr" class="org.apache.cocoon.components.modules.output.RequestAttributeOutputModule"/> + <component-instance logger="core.modules.output" name="request-attr-map" class="org.apache.cocoon.components.modules.output.RequestAttributeMap"/> + <component-instance logger="core.modules.output" name="session-attr" class="org.apache.cocoon.components.modules.output.SessionAttributeOutputModule"/> + </output-modules> + +<!-- ================================= XML ================================ --> + + <!--+ + | XML Parser + | + | The default parser used in Apache Cocoon is + | org.apache.excalibur.xml.impl.JaxpParser. Apache Cocoon requires a + | JAXP 1.1 parser. + | If you have problems because your servlet environment uses its own + | parser not conforming to JAXP 1.1 try using the alternative + | XercesParser instead of the JaxpParser. To activate the XercesParser, + | change the class attribute to + | class="org.apache.excalibur.xml.impl.XercesParser" + | You will also need to add a system property to your JVM, + | probably on the startup of your servlet engine like this: + | -Dorg.apache.excalibur.xml.sax.SAXParser=org.apache.excalibur.xml.impl.XercesParser + | + | Configuration for the JaxpParser (not the XercesParser!): + | - validate (boolean, default = false): This parameter causes the parser + | to be a validating parser. + | XML validation is only being used for the documentation build. + | (If you are going to use it elsewhere, then do so with caution.) + | You really should have validated all of your XML documents already, + | according to their proper DTD or schema. Do not expect Cocoon to do it. + | - namespace-prefixes (boolean, default = false) : do we want + | namespaces declarations also as 'xmlns:' attributes ? + | Note : setting this to true confuses some XSL processors (e.g. Saxon). + | - stop-on-warning (boolean, default = true) : should the parser + | stop parsing if a warning occurs ? + | - stop-on-recoverable-error (boolean, default = true) : should the parser + | stop parsing if a recoverable error occurs ? + | - reuse-parsers (boolean, default = true) : do we want to reuse + | parsers or create a new parser for each parse ? + | Note : even if this parameter is true, parsers are not + | recycled in case of parsing errors : some parsers (e.g. Xerces) don't like + | to be reused after failure. + | - sax-parser-factory (string) : the name of the SAXParserFactory + | implementation class to be used instead of using the standard JAXP mechanism + | (SAXParserFactory.newInstance()). This allows to choose + | unambiguously the JAXP implementation to be used when several of them are + | available in the classpath. + | - document-builder-factory (string) : the name of the + | DocumentBuilderFactory implementation to be used (similar to + | sax-parser-factory for DOM). + +--> + <xml-parser class="org.apache.excalibur.xml.impl.JaxpParser" logger="core.xml-parser" pool-grow="4" pool-max="32" pool-min="8"> <parameter name="validate" value="false"/> <parameter name="namespace-prefixes" value="false"/> <parameter name="stop-on-warning" value="true"/> <parameter name="stop-on-recoverable-error" value="true"/> <parameter name="reuse-parsers" value="false"/> - <!-- - <parameter name="sax-parser-factory" value="???"/> - <parameter name="document-builder-factory" value="???"/> - --> + <!--parameter name="sax-parser-factory" value="???"/--> + <!--parameter name="document-builder-factory" value="???"/--> </xml-parser> - <!-- Memory Storing: --> + <!--+ + | Entity resolution catalogs + | + | The default catalog is distributed at /WEB-INF/entities/catalog + | This is the contextual pathname for Cocoon resources. + | You can override this path, if necessary, using the "catalog" parameter: + | + | <parameter name="catalog" value="/WEB-INF/entities/catalog"/> + | + | However, it is probably desirable to leave this default catalog config + | and declare your own local catalogs, which are loaded in addition to + | the system catalog. + | + | There are various ways to do local configuration (see "Entity Catalogs" + | documentation). One way is via the CatalogManager.properties file. + | As an additional method, you can specify the "local-catalog" parameter here. + | + | local-catalog: + | The full filesystem pathname to a single local catalog file. + | + | <parameter name="local-catalog" value="/usr/local/sgml/mycatalog"/> + | + | verbosity: + | The level of messages for status/debug (messages go to standard output) + | The following messages are provided ... + | 0 = none + | 1 = ? (... not sure yet) + | 2 = 1+, Loading catalog, Resolved public, Resolved system + | 3 = 2+, Catalog does not exist, resolvePublic, resolveSystem + | 10 = 3+, List all catalog entries when loading a catalog + | (Cocoon also logs the "Resolved public" messages.) + | + | <parameter name="verbosity" value="2"/> + +--> + <entity-resolver class="org.apache.cocoon.components.resolver.ResolverImpl" logger="core.resolver"> + <parameter name="catalog" value="/WEB-INF/entities/catalog"/> + <parameter name="verbosity" value="1"/> + </entity-resolver> + + <!--+ + | XSLT Processor + | + | 'incremental-processing' (only works with Xalan) allows the XSLT + | processor to start the output of the transformation as soon as possible. + | if set to false, the transforer waits until the end of the + | transformation to deliver the output. + +--> + <xslt-processor logger="core.xslt-processor"> + <parameter name="use-store" value="false"/> + <parameter name="incremental-processing" value="true"/> + </xslt-processor> + + <!--+ + | Deli CC/PP Database + | + | Deli matches the requesting user agent with a database of CC/PP + | profiles and augments the set of variables available to any XSLT + | stylesheet with stuff like user agent screen size, or color depth + | that can be useful for tuning your output to the various devices. + | + | Note: this is mostly useful for mobile agents such as cell phones + | or PDA where it's possible to associate the user-agent with the + | device that runs on. + +--> + <!-- Uncomment this section to enable DELI --> + <!--deli class="org.apache.cocoon.components.deli.DeliImpl"> + <parameter name="deli-config-file" value="resources/deli/config/deliConfig.xml"/> + </deli--> + + <!-- Xpath Processor: --> + <xpath-processor class="org.apache.excalibur.xml.xpath.XPathProcessorImpl" logger="core.xpath-processor"/> + + <!-- The XMLizers converts different mime-types to XML --> + <xmlizer> + <parser role="org.apache.excalibur.xml.sax.SAXParser/HTML" mime-type="text/html"/> + <parser role="org.apache.excalibur.xml.sax.SAXParser" mime-type="text/xml"/> + </xmlizer> + +<!-- ============================ Object Stores =========================== --> + + <!--+ + | Transient Store: holds objects that don't have to survive shutdown + +--> <transient-store logger="core.store.transient"> - <!-- Indicates how many objects will be hold in the cache. - When the number of maxobjects has been reached. The last object in the - cache will be thrown out. --> + + <!--+ + | Indicates how many objects will be hold in the cache. + | When the number of maxobjects has been reached. The last object in the + | cache will be thrown out. + +--> <parameter name="maxobjects" value="100"/> - <!-- Turns the swapping of the objects into persistent cache on - and off. --> + <!-- Turns the swapping of the objects into persistent cache on and off. --> <parameter name="use-persistent-cache" value="true"/> </transient-store> - <!-- Persistent store for the cache. - - Common configuration parameters: - use-cache-directory: Indicates that cache directory specified in - web.xml should be used. - use-work-directory: Indicates that work directory specified in - web.xml should be used. - directory: Specifies directory to use. Absolute or relative to the - work directory. - --> + <!--+ + | Persistent Store: holds objects that have to survive shutdown --> + | + | Common configuration parameters: + | use-cache-directory: Indicates that cache directory specified in + | web.xml should be used. + | use-work-directory: Indicates that work directory specified in + | web.xml should be used. + | directory: Specifies directory to use. Absolute or relative to the + | work directory. + +--> <persistent-store logger="core.store.persistent"> <parameter name="use-cache-directory" value="true"/> </persistent-store> - - <!-- Store Janitor: - Be careful with the heapsize and freememory parameters. Wrong values can - cause high cpu usage. Example configuration: - Jvm settings: - -Xmx200000000 - store-janitor settings: - <parameter name="freememory" value="5000000"/> - <parameter name="heapsize" value="150000000"/> - - It is recommended to have heapsize equal to -Xmx, especially - on Sun's JVM which are unable to shrink its heap once it grows above minimum. - Freememory should be greater than amount of memory necessary for normal - application operation. - --> + + <!--+ + | Store Janitor: the store garbage collector and memory usage controller. + | + | Be careful with the heapsize and freememory parameters. Wrong values can + | cause high cpu usage. Example configuration: + | Jvm settings: + | -Xmx200000000 + | store-janitor settings: + | <parameter name="freememory" value="5000000"/> + | <parameter name="heapsize" value="150000000"/> + | + | It is recommended to have heapsize equal to -Xmx, especially + | on Sun's JVM which are unable to shrink its heap once it grows above minimum. + | Freememory should be greater than amount of memory necessary for normal + | application operation. + +--> <store-janitor logger="core.store.janitor"> - <!-- How much free memory shall be available in the jvm --> + <!-- How much free memory shall be available in the jvm --> <parameter name="freememory" value="1000000"/> - <!-- Indicates the limit of the jvm memory consumption. The default max - heapsize for Sun's JVM is 64Mb --> + <!-- Indicates the limit of the jvm memory consumption. The default max heapsize for Sun's JVM is 64Mb --> <parameter name="heapsize" value="67108864"/> <!-- How often shall the cleanup thread check memory --> <parameter name="cleanupthreadinterval" value="10"/> <!-- Indicates the thread priority of the cleanup thread --> <parameter name="threadpriority" value="5"/> - <!-- How much percent of the elements of each registered Store shall - be removed when low on memory. Default 10% --> + <!-- How much percent of the elements of each registered Store shall be removed when low on memory. Default 10% --> <parameter name="percent_to_free" value="10"/> </store-janitor> - <!-- XSLT Processor: - For Xalan: Turn 'incremental-processing' to true if you want a continous output - (if set to false the transformer delivers SAX events after all transformations has been done). - --> - <xslt-processor logger="core.xslt-processor"> - <parameter name="use-store" value="false"/> - <parameter name="incremental-processing" value="true"/> - </xslt-processor> +<!-- ========================= Protocol Handlers =========================== --> - <!-- Xpath Processor: - --> - <xpath-processor class="org.apache.excalibur.xml.xpath.XPathProcessorImpl" logger="core.xpath-processor"/> + <!--+ + | Source Factories + | + | Each source factory adds a special uri protocol to the system. + +--> + <source-factories> + <component-instance class="org.apache.excalibur.source.impl.ResourceSourceFactory" name="resource"/> + <component-instance class="org.apache.cocoon.components.source.impl.ContextSourceFactory" name="context"/> + <component-instance class="org.apache.cocoon.components.source.impl.SitemapSourceFactory" name="cocoon"/> + <component-instance class="org.apache.cocoon.components.source.impl.FileSourceFactory" name="file"/> + <component-instance class="org.apache.excalibur.source.impl.URLSourceFactory" name="*"/> + </source-factories> - <!-- URL Factory: - The url factory adds special url protocols to the system, they are then - available inside Cocoon, e.g. as a source argument for one of the sitemap - components. - THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE - --> + <!--+ + | URL Factory + | + | The url factory adds special url protocols to the system, they are then + | available inside Cocoon, e.g. as a source argument for one of the sitemap + | components. + | + | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE + +--> <url-factory logger="core.url-factory"> - <!-- Allows access to resources available from the ClassLoader, - using getResource() method. --> + <!-- Allows access to resources available from the ClassLoader, using getResource() method. --> <protocol class="org.apache.cocoon.components.url.ResourceURLFactory" name="resource"/> - <!-- Add here protocol factories for your own protocols --> </url-factory> - <!-- Source Handler: - The source handler adds special url protocols to the system, they are - then available inside Cocoon, e.g. as a source argument for one of the - sitemap components. - THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE - --> + <!--+ + | Source Handler + | + | The source handler adds special url protocols to the system, they are + | then available inside Cocoon, e.g. as a source argument for one of the + | sitemap components. + | + | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE + +--> <source-handler logger="core.source-handler"> <!-- file protocol : this is a WriteableSource --> <protocol class="org.apache.cocoon.components.source.FileSourceFactory" name="file"/> - <!-- Allows access to resources available from the servlet context, - using getResource() method. --> + <!-- Allows access to resources available from the servlet context, using getResource() method. --> <protocol class="org.apache.cocoon.components.source.ContextSourceFactory" name="context"/> - </source-handler> - <!-- Source Factories - Each source factory adds a special uri protocol to the system. - This will replace the source-handler and url-factory components. - --> - <source-factories> - <component-instance class="org.apache.excalibur.source.impl.ResourceSourceFactory" name="resource"/> - <component-instance class="org.apache.cocoon.components.source.impl.ContextSourceFactory" name="context"/> - <component-instance class="org.apache.cocoon.components.source.impl.SitemapSourceFactory" name="cocoon"/> - <!-- file protocol : this is a WriteableSource --> - <component-instance class="org.apache.cocoon.components.source.impl.FileSourceFactory" name="file"/> - <!-- This is the default factory --> - <component-instance class="org.apache.excalibur.source.impl.URLSourceFactory" name="*"/> - - </source-factories> +<!-- ================ Internationalization Catalogs =================== --> - <!-- The XMLizer converts different mime-types to XML --> - <xmlizer> - <parser role="org.apache.excalibur.xml.sax.SAXParser/HTML" mime-type="text/html"/> - <parser role="org.apache.excalibur.xml.sax.SAXParser" mime-type="text/xml"/> - </xmlizer> - - <!-- Program Generator: - The ProgamGenerator builds programs from a XML document written in a - MarkupLanguage. - auto-reload: - root-package: persistent code repository. - preload: - --> - <program-generator logger="core.program-generator"> - <parameter name="auto-reload" value="true"/> - <parameter name="root-package" value="org.apache.cocoon.www"/> - <parameter name="preload" value="true"/> - </program-generator> - - <!-- i18n Bundle Factory: - BundleFactory loads Bundles with i18n resources for the given locale. - Bundles are loaded from the 'catalogue_location'. Bundle base name is - 'catalogue_name' value. - If 'cache-at-startup' is true then BundleFactory preloads bundles. - --> + <!--+ + | I18n Bundle Factory + | + | BundleFactory loads Bundles with i18n resources for the given locale. + | Bundles are loaded from the 'catalogue_location'. Bundle base name is + | 'catalogue_name' value. + | If 'cache-at-startup' is true then BundleFactory preloads bundles. + +--> <i18n-bundles logger="core.i18n-bundles"> <catalogue-name>messages</catalogue-name> <catalogue-location>i18n/translations</catalogue-location> <cache-at-startup>true</cache-at-startup> </i18n-bundles> - <!-- Xscript: - --> - <xscript logger="core.xscript"> - <parameter name="xscript:copy-of" value="resource://org/apache/cocoon/components/xscript/xslt/copy-of.xsl"/> - <parameter name="xscript:value-of" value="resource://org/apache/cocoon/components/xscript/xslt/value-of.xsl"/> - </xscript> +<!-- ---================ XSP (eXtensible Server Pages) ===================== --> - <!-- Programming Languages: --> + <!--+ + | Program Generator + | + | The ProgamGenerator builds programs from a XML document written in a + | MarkupLanguage. + | + | auto-reload: whether the system should check if the source was + | modified and reload of consequence. + | root-package: the java package to use for the generated classes + | preload: whether the system should preload the necessary components + +--> + <program-generator logger="core.program-generator"> + <parameter name="auto-reload" value="true"/> + <parameter name="root-package" value="org.apache.cocoon.www"/> + <parameter name="preload" value="true"/> + </program-generator> + + <!--+ + | Programming Languages for the XSP pages + +--> <programming-languages> - <java-language logger="core.language.java" name="java"> + <java-language name="java" logger="core.language.java"> + <!-- Specifies which formatter to use to format source code. - This parameter is optional. - It is commented out because of bug #5689: Java "code-formatter" incorrectly formats double values - <parameter name="code-formatter" value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/> - --> + This parameter is optional. + It is commented out because of bug #5689: Java "code-formatter" incorrectly formats double values --> + <!--parameter name="code-formatter" value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/--> + <!-- A singleton-like implementation of a ClassLoader --> <parameter name="class-loader" value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/> - + <!-- Compiler parameter specifies which class to use to compile Java. Possible variants are: Javac. Requires javac.jar (included with JDK as lib/toools.jar). @@ -235,77 +478,77 @@ Jikes. Requires IBM jikes compiler to be present in the PATH --> <parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Pizza"/> </java-language> - + <!-- Interpreted JavaScript language --> - <js-language logger="core.language.js" name="js"/> + <js-language name="js" logger="core.language.js"/> </programming-languages> - <!-- Class loader: - A singleton-like implementation of a ClassLoader. - --> - <classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl" logger="core.classloader"/> - - <!-- Markup Languages: - This section defines several builtin logicsheets. A logicsheet is an XML - filter used to translate user-defined, dynamic markup into equivalent - code embedding directives for a given markup language. - --> + <!--+ + | Logisheets + | + | This section defines the XSP logicsheets. A logicsheet is a special XSLT + | stylesheet used to translate user-defined dynamic markup into equivalent + | XSP markup that embeds directives for a given markup language. + | + | Logicsheets are the XSP equivalent of taglibs. For info about + | the tags included in the default taglibs, please, refer to the + | documentation. + +--> <markup-languages> <xsp-language logger="core.markup.xsp" name="xsp"> <parameter name="prefix" value="xsp"/> <parameter name="uri" value="http://apache.org/xsp"/> + <!--+ + | Properties for the java language + +--> <target-language name="java"> <!-- Defines the XSP Core logicsheet for the Java language --> <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/> - - <!-- The Request logicsheet (taglib) is an XSP logicsheet that wraps XML tags - around standard request operations --> + + <!-- The Request logicsheet: access request parameters --> <builtin-logicsheet> <parameter name="prefix" value="xsp-request"/> <parameter name="uri" value="http://apache.org/xsp/request/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/> </builtin-logicsheet> - - <!-- The Response logicsheet (taglib) is an XSP logicsheet that wraps XML tags - around standard response operations --> + + <!-- The Response logicsheet: access response parameters --> <builtin-logicsheet> <parameter name="prefix" value="xsp-response"/> <parameter name="uri" value="http://apache.org/xsp/response/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/> </builtin-logicsheet> - <!-- The Session logicsheet (taglib) is an XSP logicsheet that wraps XML tags around - standard session operations. Specifically, the Session logicsheet provides an - XML interface to most methods of the HttpSession object (see the Java Servlet API - Specification, version 2.2 ) for more information. --> + <!-- The Session logicsheet: manages and access the session --> <builtin-logicsheet> <parameter name="prefix" value="xsp-session"/> <parameter name="uri" value="http://apache.org/xsp/session/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/session.xsl"/> </builtin-logicsheet> - <!-- The Cookie logicsheet (taglib) is an XSP logicsheet that wraps XML tags - around standard cookie operations --> + <!-- The Cookie logicsheet: manages and access cookies --> <builtin-logicsheet> <parameter name="prefix" value="xsp-cookie"/> <parameter name="uri" value="http://apache.org/xsp/cookie/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/cookie.xsl"/> </builtin-logicsheet> + <!-- The Log logicsheet: access the cocoon logs from an xsp page --> <builtin-logicsheet> <parameter name="prefix" value="log"/> <parameter name="uri" value="http://apache.org/xsp/log/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/log.xsl"/> </builtin-logicsheet> + <!-- The Utility logicsheet --> <builtin-logicsheet> <parameter name="prefix" value="util"/> <parameter name="uri" value="http://apache.org/xsp/util/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/util.xsl"/> </builtin-logicsheet> - - <!-- The xsp-formval taglib serves as interface to retrieve validation results + + <!-- The xsp-formval taglib serves as interface to retrieve validation results from a request attribute --> <builtin-logicsheet> <parameter name="prefix" value="xsp-formval"/> @@ -324,6 +567,7 @@ <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/sel.xsl"/> </builtin-logicsheet> + <!-- The Action logicsheet --> <builtin-logicsheet> <parameter name="prefix" value="action"/> <parameter name="uri" value="http://apache.org/cocoon/action/1.0"/> @@ -338,18 +582,21 @@ <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/capture.xsl"/> </builtin-logicsheet> + <!-- The XScript logicsheet --> <builtin-logicsheet> <parameter name="prefix" value="xscript"/> <parameter name="uri" value="http://apache.org/xsp/xscript/1.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xscript.xsl"/> </builtin-logicsheet> + <!-- The SOAP logicsheet --> <builtin-logicsheet> <parameter name="prefix" value="soap"/> <parameter name="uri" value="http://apache.org/xsp/soap/3.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/soap.xsl"/> </builtin-logicsheet> + <!-- The JPath logicsheet --> <builtin-logicsheet> <parameter name="prefix" value="jpath"/> <parameter name="uri" value="http://apache.org/xsp/jpath/1.0"/> @@ -363,8 +610,10 @@ <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/input.xsl"/> </builtin-logicsheet> </target-language> - - <!-- XSP in Javascript --> + + <!--+ + | Properties for the javascript language + +--> <target-language name="js"> <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/xsp.xsl"/> @@ -389,23 +638,41 @@ </xsp-language> </markup-languages> - <!-- Compiling xml to byte streams. - The xml-serializer "compiles" xml sax events into a byte stream - and the xml-deserializer does the same vice versa. - Make sure, that if you change one of these components, that you - may have to change the other one as well, as they might have - a dependency. - --> + <!-- Xscript --> + <xscript logger="core.xscript"> + <parameter name="xscript:copy-of" value="resource://org/apache/cocoon/components/xscript/xslt/copy-of.xsl"/> + <parameter name="xscript:value-of" value="resource://org/apache/cocoon/components/xscript/xslt/value-of.xsl"/> + </xscript> + +<-- ========================== System Components =========================== --> + + <!--+ + | The core classloader implementation + +--> + <classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl" logger="core.classloader"/> + + <!--+ + | XML compiler/decompiler + | + | these components are used to process SAX events and produce a binary + | representation that is much more compact and efficient for + | subsequent parsing. These are used by the cache system to save + | the intermediate results of the pipeline stages reducing the overhead + | of xml parsing/serialization. + +--> <xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler" logger="core.xml-serializer" pool-grow="4" pool-max="32" pool-min="8"/> <xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter" logger="core.xml-deserializer" pool-grow="4" pool-max="32" pool-min="8"/> - <!-- Resource Monitor: - The Monitor keeps track on changes to a Resource. - --> + <!--+ + | The Monitor keeps track on changes to a Resource. + +--> <monitor logger="core.monitor"> <thread frequency="10000" priority="5"/> </monitor> + <!--+ + | The Scheduler (???) + +--> <cornerstone-threadmanager logger="core.scheduler"> <thread-group> <name>default</name> @@ -414,56 +681,5 @@ <!-- cornerstone-scheduler --> <cornerstone-scheduler logger="core.scheduler"/> - - <!-- - New implementation of the sitemap. It is interpreted, so load times are super-fast, - and request processing is slightly faster than with the compiled engine thanks to - the HotSpot VM. - - Reloading of the sitemap: - The check-reload attribute determines if the sitemap is reloaded on change. - Set to "no", the sitemap is generated once at startup. - Set to "yes", the sitemap is regenerated if it changes. - - For development environment, set the check-reload to yes. - For production environment, it is advisable to set the check-reload to no. - --> - <sitemap check-reload="yes" config="resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml" file="context://sitemap.xmap" logger="sitemap"/> - - <!-- Entity resolution catalogs - - The default catalog is distributed at /WEB-INF/entities/catalog - This is the contextual pathname for Cocoon resources. - You can override this path, if necessary, using the "catalog" parameter. - <parameter name="catalog" value="/WEB-INF/entities/catalog"/> - However, it is probably desirable to leave this default catalog config - and declare your own local catalogs, which are loaded in addition to - the system catalog. - - There are various ways to do local configuration (see "Entity Catalogs" - documentation). One way is via the CatalogManager.properties file. - As an additional method, you can specify the "local-catalog" parameter here. - - local-catalog: - The full filesystem pathname to a single local catalog file. - <parameter name="local-catalog" value="/usr/local/sgml/mycatalog"/> - - verbosity: - The level of messages for status/debug (messages go to standard output) - The following messages are provided ... - 0 = none - 1 = ? (... not sure yet) - 2 = 1+, Loading catalog, Resolved public, Resolved system - 3 = 2+, Catalog does not exist, resolvePublic, resolveSystem - 10 = 3+, List all catalog entries when loading a catalog - (Cocoon also logs the "Resolved public" messages.) - TODO: determine all messages at each level - <parameter name="verbosity" value="2"/> - - --> - <entity-resolver class="org.apache.cocoon.components.resolver.ResolverImpl" logger="core.resolver"> - <parameter name="catalog" value="/WEB-INF/entities/catalog"/> - <parameter name="verbosity" value="1"/> - </entity-resolver> </cocoon>