| <?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/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.avalon.excalibur.xml.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.avalon.excalibur.xml.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.avalon.excalibur.xml.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.avalon.excalibur.xml.Parser=org.apache.avalon.excalibur.xml.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). |
| --> |
| <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="???"/> |
| --> |
| </xml-parser> |
| |
| <!-- ============================ STORE ============================ --> |
| <!-- Persistent store for the cache. Two store implementations to choose |
| from: |
| * FilesystemStore: Simple. Dependable. Thorougly tested. |
| * JispFilesystemStore: Scalable. New kid on the block. |
| |
| 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 class="org.apache.cocoon.components.store.JispFilesystemStore" |
| logger="core.store.persistent"> |
| <parameter name="use-cache-directory" value="true"/> |
| <parameter name="datafile" value="cocoon-cache.dat"/> |
| <parameter name="indexfile" value="cocoon-cache.idx"/> |
| <parameter name="order" value="1701"/> |
| </persistent-store> |
| |
| <!-- Memory Storing: --> |
| <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. --> |
| <parameter name="maxobjects" value="100"/> |
| |
| <!-- Turns the swapping of the objects into persistent cache on |
| and off. --> |
| <parameter name="use-persistent-cache" value="true"/> |
| </transient-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 logger="core.store.janitor"> |
| <!-- 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 --> |
| <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% --> |
| <parameter name="percent_to_free" value="10"/> |
| </store-janitor> |
| <!-- ============================ STORE END ========================= --> |
| |
| <!-- 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> |
| |
| <!-- Xpath Processor: |
| --> |
| <xpath-processor class="org.apache.avalon.excalibur.xml.xpath.XPathProcessorImpl" logger="core.xpath-processor"/> |
| |
| <!-- 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. --> |
| <protocol class="org.apache.cocoon.components.url.ResourceURLFactory" name="resource"/> |
| <!-- Allows access to resources available from the servlet context, |
| using getResource() method. --> |
| <protocol class="org.apache.cocoon.components.url.ContextURLFactory" name="context"/> |
| <!-- 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 logger="core.source-handler"> |
| <!-- file protocol : this is a WriteableSource --> |
| <protocol class="org.apache.cocoon.components.source.FileSourceFactory" name="file"/> |
| |
| |
| |
| |
| </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"/> |
| |
| |
| |
| |
| </source-factories> |
| |
| <!-- The XMLizer converts different mime-types to XML --> |
| <xmlizer> |
| <component-instance class="org.apache.excalibur.xmlizer.impl.TextXMLizer" name="text/xml"/> |
| <component-instance class="org.apache.excalibur.xmlizer.impl.HTMLXMLizer" name="text/html"/> |
| </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> |
| |
| <!-- Programming Languages: --> |
| <programming-languages> |
| <java-language logger="core.language.java" name="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"/> |
| --> |
| <!-- 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). |
| Pizza. Requires pizza.jar (included with Cocoon distribution). |
| Jikes. Requires IBM jikes compiler to be present in the PATH --> |
| <parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Javac"/> |
| </java-language> |
| |
| </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. |
| --> |
| <markup-languages> |
| <xsp-language logger="core.markup.xsp" name="xsp"> |
| <parameter name="prefix" value="xsp"/> |
| <parameter name="uri" value="http://apache.org/xsp"/> |
| |
| <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 --> |
| <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 --> |
| <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. --> |
| <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 --> |
| <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 ESQL logicsheet is an XSP logicsheet that performs sql queries and |
| serializes their results as XML. This allows you to work with data from a |
| wide variety of different sources when using Apache Cocoon. --> |
| <builtin-logicsheet> |
| <parameter name="prefix" value="esql"/> |
| <parameter name="uri" value="http://apache.org/cocoon/SQL/v2"/> |
| <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/esql.xsl"/> |
| </builtin-logicsheet> |
| |
| <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> |
| |
| <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 |
| from a request attribute --> |
| <builtin-logicsheet> |
| <parameter name="prefix" value="xsp-formval"/> |
| <parameter name="uri" value="http://apache.org/xsp/form-validator/2.0"/> |
| <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/form-validator.xsl"/> |
| </builtin-logicsheet> |
| |
| <!-- The sel taglib allows to put multiple pages / view into |
| one xsp. While in general it is good style to put |
| different views into different xsp because they're more |
| easily maintained, this is a useful feature with |
| e.g. with long forms that are broken into parts --> |
| <builtin-logicsheet> |
| <parameter name="prefix" value="sel"/> |
| <parameter name="uri" value="http://apache.org/xsp/sel/1.0"/> |
| <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/sel.xsl"/> |
| </builtin-logicsheet> |
| |
| <builtin-logicsheet> |
| <parameter name="prefix" value="action"/> |
| <parameter name="uri" value="http://apache.org/cocoon/action/1.0"/> |
| <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/action.xsl"/> |
| </builtin-logicsheet> |
| |
| <!-- The capture taglib is for capturing parts of the XSP-generated XML as |
| XML fragments or DOM nodes --> |
| <builtin-logicsheet> |
| <parameter name="prefix" value="capture"/> |
| <parameter name="uri" value="http://apache.org/cocoon/capture/1.0"/> |
| <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/capture.xsl"/> |
| </builtin-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> |
| |
| <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> |
| |
| <builtin-logicsheet> |
| <parameter name="prefix" value="jpath"/> |
| <parameter name="uri" value="http://apache.org/xsp/jpath/1.0"/> |
| <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/jpath.xsl"/> |
| </builtin-logicsheet> |
| |
| </target-language> |
| |
| </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. |
| --> |
| <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"/> |
| |
| |
| <!-- ======================== The 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 check-reload="yes" config="resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml" file="context://sitemap.xmap" logger="sitemap"/> |
| |
| |
| |
| |
| |
| <!-- Entity resolution catalogs: ********************************************* |
| catalog: |
| 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="/resources/schema/catalog"/> |
| <parameter name="local-catalog" value="@local-catalog@"/> |
| <parameter name="verbosity" value="@catalog-verbosity@"/> |
| </entity-resolver> |
| |
| <!-- =============== Sitemap In/Out/Database Modules ==================== --> |
| |
| <input-modules logger="core.modules.input"> |
| <component-instance name="global" class="org.apache.cocoon.components.modules.input.GlobalInputModule"/> |
| <component-instance name="request" class="org.apache.cocoon.components.modules.input.RequestModule"/> |
| <component-instance name="session" class="org.apache.cocoon.components.modules.input.SessionModule"/> |
| <component-instance name="request-param" class="org.apache.cocoon.components.modules.input.RequestParameterModule"/> |
| <component-instance name="request-attr" class="org.apache.cocoon.components.modules.input.RequestAttributeModule"/> |
| <component-instance name="request-header" class="org.apache.cocoon.components.modules.input.HeaderAttributeModule"/> |
| <component-instance name="session-attr" class="org.apache.cocoon.components.modules.input.SessionAttributeModule"/> |
| <component-instance name="system-property" class="org.apache.cocoon.components.modules.input.SystemPropertyModule"/> |
| <component-instance name="constant" class="org.apache.cocoon.components.modules.input.StringConstantModule"/> |
| <component-instance name="random" class="org.apache.cocoon.components.modules.input.RandomNumberModule"/> |
| <component-instance name="digest" class="org.apache.cocoon.components.modules.input.DigestMetaModule"/> |
| <component-instance name="date" class="org.apache.cocoon.components.modules.input.DateInputModule"/> |
| <component-instance name="nullinput" class="org.apache.cocoon.components.modules.input.NullInputModule"/> |
| <component-instance name="xmlmeta" class="org.apache.cocoon.components.modules.input.XMLMetaModule"/> |
| <component-instance name="mapmeta" class="org.apache.cocoon.components.modules.input.MapMetaModule"/> |
| <component-instance name="defaults" class="org.apache.cocoon.components.modules.input.DefaultsMetaModule"> |
| <values> |
| <skin>@skin@</skin> |
| <base-url>/forrest</base-url> |
| </values> |
| </component-instance> |
| |
| <component-instance logger="core.modules.input" name="forrest" 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> |
| |
| <!-- For the site: scheme --> |
| <component-instance |
| class="org.apache.cocoon.components.modules.input.XMLFileModule" |
| logger="core.modules.xml" name="linkmap"> |
| <file src="cocoon:/linkmap"/> |
| <!-- Shouldn't this be the default? --> |
| <reloadable>true</reloadable> |
| </component-instance> |
| |
| <!-- Links to URIs within the site --> |
| <component-instance |
| class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule" |
| logger="core.modules.mapper" name="site"> |
| <input-module name="linkmap"/> |
| <prefix>/site//</prefix> |
| <suffix>/@href</suffix> |
| </component-instance> |
| |
| <!-- Links to external URIs, as distinct from 'site' URIs --> |
| <component-instance |
| class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule" |
| logger="core.modules.mapper" name="ext"> |
| <input-module name="linkmap"/> |
| <prefix>/site/external-refs//</prefix> |
| <suffix>/@href</suffix> |
| </component-instance> |
| |
| |
| <!-- |
| For backwards-compat: interpret {context:context} as |
| {request:contextPath} |
| --> |
| <component-instance |
| class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule" |
| logger="core.modules.mapper" name="context"> |
| <input-module name="request"/> |
| <suffix>Path</suffix> |
| </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="session-attr" class="org.apache.cocoon.components.modules.output.SessionAttributeOutputModule"/> |
| </output-modules> |
| |
| |
| </cocoon> |
| |
| |
| |
| |
| |
| |