You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by st...@apache.org on 2003/02/22 00:01:19 UTC

cvs commit: xml-cocoon2/src/webapp/WEB-INF cocoon.xconf

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>