blob: 62fa224ee5113e272b2aaee369faf9a46fc7e4fd [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright 1999-2005 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id$ -->
<!DOCTYPE role-list [
<!ELEMENT role-list (role+)>
<!ELEMENT role (hint*)>
<!ELEMENT hint EMPTY>
<!ATTLIST role-list cocoon-version CDATA #IMPLIED
>
<!ATTLIST role name CDATA #REQUIRED
shorthand CDATA #REQUIRED
default-class CDATA #IMPLIED
>
<!ATTLIST hint shorthand CDATA #REQUIRED
class CDATA #REQUIRED
>
]>
<!-- Roles for the cocoon core. The "cocoon-version" attribute is used by the Cocoon build system
for shared blocks, that should add their roles here in 2.1 but not in 2.2 -->
<role-list cocoon-version = '2.2'>
<role name="org.apache.cocoon.components.classloader.ClassLoaderFactory"
default-class="org.apache.cocoon.components.classloader.DefaultClassLoaderFactory"/>
<role name="org.apache.excalibur.source.SourceFactorySelector"
shorthand="source-factories"
default-class="org.apache.cocoon.core.container.DefaultServiceSelector">
</role>
<role name="org.apache.excalibur.source.SourceResolver"
shorthand="source-resolver"
default-class="org.apache.cocoon.components.source.CocoonSourceResolver"/>
<!-- The entity resolver used by most parsers -->
<role name="org.apache.excalibur.xml.EntityResolver"
shorthand="entity-resolver"
default-class="org.apache.cocoon.components.resolver.DefaultResolver"/>
<!-- Parser:
Starting with Cocoon 2.1 we have a bunch of different parser:
- a SAX parser (producing SAX events)
- a DOM parser (producint a document)
- an HTML parser (producing SAX events from an HTML document)
...
-->
<!-- This is the usual SAX parser -->
<role name="org.apache.excalibur.xml.sax.SAXParser"
shorthand="xml-parser"
default-class="org.apache.excalibur.xml.impl.JaxpParser"/>
<!-- This is the usual DOM parser -->
<role name="org.apache.excalibur.xml.dom.DOMParser"
shorthand="dom-parser"
default-class="org.apache.excalibur.xml.impl.JaxpParser"/>
<!-- A Dom Serializer -->
<role default-class="org.apache.excalibur.xml.dom.DefaultDOMSerializer" name="org.apache.excalibur.xml.dom.DOMSerializer" shorthand="dom-serializer"/>
<!-- XSLT: -->
<role name="org.apache.excalibur.xml.xslt.XSLTProcessor"
shorthand="xslt-processor"
default-class="org.apache.cocoon.components.xslt.TraxProcessor"/>
<role name="org.apache.excalibur.xml.xpath.XPathProcessor"
shorthand="xpath-processor"
default-class="org.apache.excalibur.xml.xpath.XPathProcessorImpl"/>
<!-- Stores: -->
<role name="org.apache.excalibur.store.Store"
shorthand="store"
default-class="org.apache.cocoon.components.store.impl.EHDefaultStore"/>
<role name="org.apache.excalibur.store.Store/TransientStore"
shorthand="transient-store"
default-class="org.apache.cocoon.components.store.impl.DefaultTransientStore"/>
<!--
The persistent store is only an auxiliary store that shouldn't be
used by Cocoon users. It should only be used - if required - by
the Store. If we use JCS, we don't need a persistent store.
<role name="org.apache.excalibur.store.Store/PersistentStore"
shorthand="persistent-store"
default-class="org.apache.cocoon.components.store.impl.DefaultPersistentStore"/>
-->
<!-- Normally uses the org.apache.excalibur.store.impl.StoreJanitorImpl as
the default-class but as that uses its own Thread spawning there is
the org.apache.cocoon.components.store.impl.CocoonStoreJanitor class
to use a daemon thread from the org.apache.cocoon.components.thread.RunnableManager
component
NOT: As soon as our patch has been accepted by the Excalibur community and an
excalibur-store has been release we can switch back to the original
org.apache.excalibur.store.impl.StoreJanitorImpl class
-->
<role name="org.apache.excalibur.store.StoreJanitor"
shorthand="store-janitor"
default-class="org.apache.cocoon.components.store.impl.CocoonStoreJanitor"/>
<!--=========================================================================
Sitemap engine
=========================================================================-->
<!-- the sitemap engine -->
<role name="org.apache.cocoon.Processor"
shorthand="sitemap"
default-class="org.apache.cocoon.components.treeprocessor.TreeProcessor"/>
<!-- the tree builder for the sitemap language (additional implementations can be added here
or in cocoon.xconf for other implementations) -->
<role name="org.apache.cocoon.components.treeprocessor.TreeBuilder/sitemap-1.0"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage"/>
<!-- the various elements of map:components -->
<role name="org.apache.cocoon.components.pipeline.ProcessingPipelineSelector"
shorthand="pipes"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector"/>
<role name="org.apache.cocoon.acting.ActionSelector"
shorthand="actions"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector"/>
<role name="org.apache.cocoon.selection.SelectorSelector"
shorthand="selectors"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector"/>
<role name="org.apache.cocoon.matching.MatcherSelector"
shorthand="matchers"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector"/>
<role name="org.apache.cocoon.generation.GeneratorSelector"
shorthand="generators"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector"/>
<role name="org.apache.cocoon.transformation.TransformerSelector"
shorthand="transformers"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector"/>
<role name="org.apache.cocoon.serialization.SerializerSelector"
shorthand="serializers"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector"/>
<role name="org.apache.cocoon.reading.ReaderSelector"
shorthand="readers"
default-class="org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector"/>
<role name="org.apache.cocoon.components.notification.NotifyingBuilder"
shorthand="notifying-builder"
default-class="org.apache.cocoon.components.notification.DefaultNotifyingBuilder"
model="non-thread-safe-pooled"/>
<!-- system-defined sitemap components -->
<role name="org.apache.cocoon.generation.Generator/&lt;notifier&gt;"
default-class="org.apache.cocoon.generation.NotifyingGenerator"
model="non-thread-safe-pooled"/>
<role name="org.apache.cocoon.generation.Generator/&lt;aggregator&gt;"
default-class="org.apache.cocoon.sitemap.DefaultContentAggregator"
model="non-thread-safe-pooled"/>
<role name="org.apache.cocoon.transformation.Transformer/&lt;translator&gt;"
default-class="org.apache.cocoon.sitemap.LinkTranslator"
model="non-thread-safe-pooled"/>
<role name="org.apache.cocoon.transformation.Transformer/&lt;gatherer&gt;"
default-class="org.apache.cocoon.sitemap.LinkGatherer"
model="non-thread-safe-pooled"/>
<!--=========================================================================-->
<role name="org.apache.cocoon.components.fam.SitemapMonitor"
shorthand="fam"
default-class="org.apache.cocoon.components.fam.SitemapMonitorImpl"/>
<role name="org.apache.cocoon.components.image.ImageEncoderSelector"
shorthand="image-encoder"/>
<role name="org.apache.excalibur.xmlizer.XMLizer"
shorthand="xmlizer"
default-class="org.apache.excalibur.xmlizer.DefaultXMLizer"/>
<role name="org.apache.cocoon.components.notification.NotifyingBuilder"
shorthand="notifying-builder"
default-class="org.apache.cocoon.components.notification.DefaultNotifyingBuilder"/>
<role name="org.apache.cocoon.caching.Cache"
shorthand="cache"
default-class="org.apache.cocoon.caching.impl.CacheImpl"/>
<!-- i18n components for resource bundle handling -->
<role name="org.apache.cocoon.i18n.BundleFactory"
shorthand="i18n-bundles"
default-class="org.apache.cocoon.i18n.XMLResourceBundleFactory"/>
<!-- Control flow layer: the interpreters selector and continuations manager -->
<role name="org.apache.cocoon.components.flow.InterpreterSelector"
shorthand="flow-interpreters"
default-class="org.apache.cocoon.core.container.DefaultServiceSelector"/>
<role name="org.apache.cocoon.components.flow.ContinuationsManager"
shorthand="continuations-manager"
default-class="org.apache.cocoon.components.flow.ContinuationsManagerImpl" />
<!-- input/output modules -->
<role name="org.apache.cocoon.components.modules.input.InputModuleSelector"
shorthand="input-modules"
default-class="org.apache.cocoon.core.container.DefaultServiceSelector"/>
<role name="org.apache.cocoon.components.modules.output.OutputModuleSelector"
shorthand="output-modules"
default-class="org.apache.cocoon.core.container.DefaultServiceSelector"/>
<role name="org.apache.cocoon.components.modules.input.SitemapVariableHolder"
shorthand="global-variables"
default-class="org.apache.cocoon.components.modules.input.SitemapVariableHolder"/>
<!-- Storing data in the current request -->
<role name="org.apache.cocoon.components.persistence.RequestDataStore"
shorthand="request-data-store"
default-class="org.apache.cocoon.components.persistence.RequestDataStoreImpl"/>
<!-- Running commands (Runnable) in background -->
<role name="org.apache.cocoon.components.thread.RunnableManager"
shorthand="runnable-manager"
default-class="org.apache.cocoon.components.thread.DefaultRunnableManager"/>
</role-list>