The solution you're looking for resides in using a LanguageInterpreter. Cocoon already has a few implementations: - org.apache.cocoon.sitemap.expression.SettingsInterpreter (works together with cocoon-spring-configurator) - org.apache.cocoon.sitemap.expression.JexlLanguageInterpreter - org.apache.cocoon.sitemap.expression.SitemapLanguageInterpreter
http://cocoon.apache.org/3.0/apidocs/index.html In cocoon-expression-language.xml these are configured as beans. You see that the last part after the colon is the prefix you can use in a sitemap. I think you should just use the SettingsInterpreter in your case. It's the default way to access properties. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean name="org.apache.cocoon.sitemap.expression.LanguageInterpreterFactory" class="org.apache.cocoon.sitemap.expression.PrototypeLanguageInterpreterFactory" /> <bean name="expression-language:map" class="org.apache.cocoon.sitemap.expression.SitemapLanguageInterpreter" /> <bean name="expression-language:jexl" class="org.apache.cocoon.sitemap.expression.JexlLanguageInterpreter" /> <bean name="expression-language:global" class="org.apache.cocoon.sitemap.expression.SettingsInterpreter" /> </beans> Robby -----Original Message----- From: Robby Pelssers [mailto:robby.pelss...@nxp.com] Sent: Wednesday, November 14, 2012 5:18 PM To: users@cocoon.apache.org Subject: RE: XInclude in sitemap.xmap I did a little test myself and by the looks of it it's not supported. <map:transform type="xinclude"> <map:parameter name="cacheKey" value="{map:0}"/> <map:parameter name="baseUrl" value="file:///c:/{request-param:subfolder}/"/> </map:transform> I hacked a bit in the cocoon-sample project and invoked this url: http://localhost:8888/aggregation/xinclude-transformer?subfolder=tmp In that case I get a nice XML exception page with following message: <message>c:\{request-param:subfolder}\xinclude\testinclude.xml (The filename, directory name, or volume label syntax is incorrect)</message> This means... that input modules are not supported yet. Will be interesting to see if we plan to support this in C3. But this would work in C2.2 as I've used inputmodules quite a lot. Robby -----Original Message----- From: Mansour Al Akeel [mailto:mansour.alak...@gmail.com] Sent: Wednesday, November 14, 2012 4:09 PM To: users@cocoon.apache.org Subject: Re: XInclude in sitemap.xmap I am using 3.0.0-beta-1-SNAPSHOT built from trunk. Here's my sitemap: <map:pipeline> <map:match pattern="article/{id}.xml"> <map:generate src="{global:base.repo.path}/articles/{map:id}/index.xml" /> <map:transform type="xinclude" > <map:parameter name="cacheKey" value="{map:0}"/> <map:parameter name="baseUrl" value="{global:base.repo.path}/articles/{map:id}/" /> </map:transform> <!-- <map:transform src="sheets/html/xslthl.xsl " /> --> <map:serialize type="xml" /> </map:match> Here's part of the document: Another Example using xinclude: =============== <programlisting language="c"> <xi:include href="hello.c" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude"/> </programlisting> Here's the log: 15:04:37.529 [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - ~ adding ParameterCacheKey(hashCode=516462290 parameters={encoding=UTF-8, method=xml}) for component XMLSerializer(hashCode=834671663) 15:04:37.530 [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - Creating CompoundCacheKey(hashCode=2115562712 key=[TimestampCacheKey(hashCode=2006330189 url=file:/home/mansour/workspace/pipelines/repo/articles/example/index.xml timestamp=1352905028000 (2012-11-14 14:57:08.0)), CachedCacheKey(hashCode=772251321 internalCacheKey=ObjectCacheKey(hashCode=686698957 obj=article/example.xml) cachedCacheKey=org.apache.cocoon.pipeline.caching.InvalidCacheKey@b78a1f0d), ParameterCacheKey(hashCode=516462290 parameters={encoding=UTF-8, method=xml})]) for pipeline CachingPipeline(hashCode=1875503051 components=[XMLGenerator(hashCode=437776393 internalGenerator=URLGenerator(hashCode=333002925 source=file:/home/mansour/workspace/pipelines/repo/articles/example/index.xml)), XIncludeTransformer(hashCode=1313024268 baseUrl=file:/home/mansour/workspace/pipelines/contents/src/main/resources/COB-INF/{global:base.repo.path}/articles/{map:id}/), XMLSerializer(hashCode=834671663)]) 15:04:37.530 [btpool0-1] INFO o.a.cocoon.servlet.RequestProcessor - Going to send NOT MODIFIED response: statusCode=304, lastModified=-1 15:04:37.530 [btpool0-1] INFO o.a.cocoon.servlet.RequestProcessor - Sitemap execution for /article/example.xml took 195.35498 ms. The variables are matching the correct document, and it's served correctly, but without xincludes being processed. On Wed, Nov 14, 2012 at 6:54 AM, Robby Pelssers <robby.pelss...@nxp.com> wrote: > I think you will need to paste the complete sitemap to get more insight into > your issue. Can you please specify which version of Cocoon you're using per > question.. even if repeated. I really need to know the context as some things > might work differently between versions. > > I don't exactly remember why you used an input module. In C2.2 I use > properties in combination with both the cocoon-spring-configurator to > - set bean property values in the application context files > - use them directly in my sitemap using ${propertyName} > > > > <map:match pattern="exportMergedFiles/*"> > <map:generate src="cocoon:/linkinginfo/{1}"/> > <map:transform src="xslt/writeTopics.xslt" type="saxon"> > <map:parameter name="folderPath" > value="${exportFolder}/{1}/merged"/> > </map:transform> > <map:serialize type="xml"/> > </map:match> > > Robby > > -----Original Message----- > From: Mansour Al Akeel [mailto:mansour.alak...@gmail.com] > Sent: Wednesday, November 14, 2012 6:40 AM > To: users@cocoon.apache.org > Subject: Re: XInclude in sitemap.xmap > > Thank you both for helping. > Robby, > this is the message I am getting now. > 05:35:08.304 [btpool0-1] DEBUG o.a.cocoon.pipeline.AbstractPipeline - > Adding component XMLSerializer(hashCode=306853147) to pipeline > [CachingPipeline(hashCode=1346781896 > components=[XMLGenerator(hashCode=1918414275 > internalGenerator=URLGenerator(hashCode=1966798757 > source=file:/home/mansour/workspace/pipelines/repo/articles/example/in > dex.xml)), XIncludeTransformer(hashCode=950275600 > baseUrl=file:/{global:base.repo.path}/articles/{map:id}/)])]. > 05:35:08.304 [btpool0-1] DEBUG o.a.cocoon.pipeline.AbstractPipeline - > Going to link the component XMLGenerator(hashCode=1918414275 > internalGenerator=URLGenerator(hashCode=1966798757 > source=file:/home/mansour/workspace/pipelines/repo/articles/example/in > dex.xml)) with XIncludeTransformer(hashCode=950275600 > baseUrl=file:/{global:base.repo.path}/articles/{map:id}/). > 05:35:08.304 [btpool0-1] DEBUG o.a.cocoon.pipeline.AbstractPipeline - > Going to link the component XIncludeTransformer(hashCode=950275600 > baseUrl=file:/{global:base.repo.path}/articles/{map:id}/) with > XMLSerializer(hashCode=306853147). > > It looks like the baseUrl is not being resolved with the input modules. For > example: > > baseUrl=file:/{global:base.repo.path}/articles/{map:id}/ > > Your efforts is highly appreciated. > Thank you. > > > On Tue, Nov 13, 2012 at 10:43 AM, Francesco Chicchiriccò > <ilgro...@apache.org> wrote: >> On 13/11/2012 16:33, Robby Pelssers wrote: >>> Ok.. >>> >>> I fixed the issue: >>> >>> <map:match equals="aggregation/xinclude-transformer"> >>> <map:generate src="aggregation/xinclude.xml" /> >>> <map:transform type="xinclude"> >>> <map:parameter name="cacheKey" value="{map:0}"/> >>> <map:parameter name="baseUrl" value="file:///c:/tmp/"/> >>> <map:parameter name="test" value="hello world"/> >>> </map:transform> >>> <map:serialize type="xml" /> >>> </map:match> >>> >>> Works now. >>> >>> I committed the fix to Cocoon3 trunk. >> >> Hi Robby, >> thank you for taking care of this: just tested your fix and the build >> runs fine. >> >> For records, could you please file an issue on JIRA (COCOON3), add >> your fix revision number as comment and then close it? >> Thanks. >> >> Regards. >> >>> -----Original Message----- >>> From: Robby Pelssers [mailto:robby.pelss...@nxp.com] >>> Sent: Tuesday, November 13, 2012 2:49 PM >>> To: users@cocoon.apache.org >>> Subject: RE: XInclude in sitemap.xmap >>> >>> Ok... I found the problem. >>> >>> Inside org.apache.cocoon.sitemap.node.AbstractSitemapNode the baseUrl is >>> overridden, although it correctly receives the baseUrl. >>> >>> invocationParams = { >>> baseUrl=file:///c:/tmp/ >>> cacheKey={map:0} >>> test=hello world >>> } >>> >>> >>> protected InvocationResult invoke(final String src, final String >>> type, final Invocation invocation) { >>> >>> .... >>> // set the baseUrl PROBLEMATIC PART >>> invocationParams.put("baseUrl", invocation.resolve("")); >>> >>> } >>> >>> >>> But before starting making changes... this might need careful attention. >>> >>> Robby >>> >>> >>> -----Original Message----- >>> From: Robby Pelssers [mailto:robby.pelss...@nxp.com] >>> Sent: Tuesday, November 13, 2012 2:32 PM >>> To: users@cocoon.apache.org >>> Subject: RE: XInclude in sitemap.xmap >>> >>> I'm debugging your issue and so far I'm pretty bedazzled about what the >>> hell is going on: >>> >>> <map:match equals="aggregation/xinclude-transformer"> >>> <map:generate src="aggregation/xinclude.xml" /> >>> <map:transform type="xinclude"> >>> <map:parameter name="cacheKey" value="{map:0}"/> >>> <map:parameter name="baseUrl" value="file:///c:/tmp/"/> >>> <map:parameter name="test" value="hello world"/> >>> </map:transform> >>> <map:serialize type="xml" /> >>> </map:match >>> >>> While debugging I see following Configuration -> Map<String, Object> >>> >>> baseUrl=file:/C:/workspaces/apache/cocoon/cocoon3/trunk/cocoon-sampl >>> e >>> /./src/main/resources/COB-INF/ >>> cacheKey=aggregation/xinclude-transformer >>> test=hello world >>> >>> Will keep you posted.. Maybe the baseUrl is somewhere overridden while >>> setting up the pipeline? Anyone who can tell this? >>> >>> Robby >>> >>> -----Original Message----- >>> From: Mansour Al Akeel [mailto:mansour.alak...@gmail.com] >>> Sent: Tuesday, November 13, 2012 1:19 PM >>> To: users@cocoon.apache.org >>> Subject: Re: XInclude in sitemap.xmap >>> >>> I can not include all my files, but here's the relevant parts: >>> >>> >>> <map:match pattern="article/{id}.xml"> >>> <map:generate >>> src="{global:base.repo.path}/articles/{map:id}/index.xml" /> >>> <map:transform type="xinclude" > >>> <map:parameter name="cacheKey" value="false"/> >>> <map:parameter name="baseUrl" >>> value="file://{global:base.repo.path}/articles/{map:id}/" /> >>> </map:transform> >>> <!-- <map:transform src="sheets/html/xslthl.xsl " /> --> >>> <map:serialize type="xml" /> >>> </map:match> >>> >>> In my xml file: >>> >>> <programlisting language="c"> >>> <xi:include href="hello.c" parse="text" >>> xmlns:xi="http://www.w3.org/2001/XInclude"/> >>> </programlisting> >>> >>> >>> In the log I am getting this: >>> >>> 12:11:57.039 [btpool0-1] DEBUG o.a.cocoon.pipeline.AbstractPipeline >>> - Going to link the component XMLGenerator(hashCode=1295514377 >>> internalGenerator=URLGenerator(hashCode=1212516680 >>> source=file:/home/mansour/workspace/pipeline >>> s/repo/articles/example/index.xml)) with >>> XIncludeTransformer(hashCode=373437306 >>> baseUrl=file:/home/mansour/workspace/pipelines/contents/./src/main/resources/COB-INF/). >>> 12:11:57.039 [btpool0-1] DEBUG o.a.cocoon.pipeline.AbstractPipeline >>> - Going to link the component XIncludeTransformer(hashCode=373437306 >>> baseUrl=file:/home/mansour/workspace/pipelines/contents/./src/main/r >>> e >>> sources/COB-INF/) >>> wi >>> th XMLSerializer(hashCode=1413585408). >>> 12:11:57.039 [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - >>> Creating CompoundCacheKey(hashCode=518365495 key=[]): >>> 12:11:57.039 [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - >>> ~ adding TimestampCacheKey(hashCode=1975202233 >>> url=file:/home/mansour/workspace/pipelines/repo/articles/example/ind >>> e >>> x.xml >>> timestamp=1352808707000 (2012-11- >>> 13 12:11:47.0)) for component XMLGenerator(hashCode=1295514377 >>> internalGenerator=URLGenerator(hashCode=1212516680 >>> source=file:/home/mansour/workspace/pipelines/repo/articles/example/ >>> i >>> ndex.xml)) >>> 12:11:57.039 [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - >>> ~ adding CachedCacheKey(hashCode=1855990413 >>> internalCacheKey=ObjectCacheKey(hashCode=1421714705 obj=false) >>> cachedCacheKey=URLListCacheKey(hashCode=13584830 >>> 78 urls=[TimestampCacheKey(hashCode=334463211 >>> url=file:/home/mansour/workspace/pipelines/contents/src/main/resourc >>> e s/COB-INF/hello.c timestamp=0 (1970-01-01 00:00:00.0))])) for >>> component >>> XIncludeTransformer(hashCode=373437306 >>> baseUrl=file:/home/mansour/workspace/pipelines/contents/./src/main/r >>> e >>> sources/COB-INF/) >>> 12:11:57.039 [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - >>> ~ adding ParameterCacheKey(hashCode=1430898616 >>> parameters={encoding=UTF-8, method=xml}) for component >>> XMLSerializer(hashCode=1413585408) >>> 12:11:57.040 [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - >>> Creating CompoundCacheKey(hashCode=518365495 >>> key=[TimestampCacheKey(hashCode=1975202233 >>> url=file:/home/mansour/workspace/pipelines/repo/articles/example/ind >>> ex.xml timestamp=1352808707000 (2012-11-13 12:11:47.0)), >>> CachedCacheKey(hashCode=1855990413 >>> internalCacheKey=ObjectCacheKey(hashCode=1421714705 obj=false) >>> cachedCacheKey=URLListCacheKey(hashCode=1358483078 >>> urls=[TimestampCache >>> Key(hashCode=334463211 >>> url=file:/home/mansour/workspace/pipelines/contents/src/main/resourc >>> e s/COB-INF/hello.c timestamp=0 (1970-01-01 00:00:00.0))])), >>> ParameterCacheKey(hashCode=1430898616 parameters={encoding=UTF-8, >>> method=xm >>> l})]) for pipeline CachingPipeline(hashCode=839414089 >>> components=[XMLGenerator(hashCode=1295514377 >>> internalGenerator=URLGenerator(hashCode=1212516680 >>> source=file:/home/mansour/workspace/pipelines/repo/articles/example/ >>> i ndex.xm l)), XIncludeTransformer(hashCode=373437306 >>> baseUrl=file:/home/mansour/workspace/pipelines/contents/./src/main/r >>> e >>> sources/COB-INF/), >>> XMLSerializer(hashCode=1413585408)]) >>> 12:11:57.040 [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - >>> Used cache: SimpleCache(hashCode=1672230800) 12:11:57.040 >>> [btpool0-1] DEBUG o.a.cocoon.pipeline.CachingPipeline - No cache >>> value available for CompoundCacheKey(hashCode=518365495 >>> key=[TimestampCacheKey(hashCode=1975202233 >>> url=file:/home/mansour/workspace/pipelines/repo/a >>> rticles/example/index.xml timestamp=1352808707000 (2012-11-13 >>> 12:11:47.0)), CachedCacheKey(hashCode=1855990413 >>> internalCacheKey=ObjectCacheKey(hashCode=1421714705 obj=false) >>> cachedCacheKey=URLListCacheKey(hashCode=1358483078 u >>> rls=[TimestampCacheKey(hashCode=334463211 >>> url=file:/home/mansour/workspace/pipelines/contents/src/main/resourc >>> e s/COB-INF/hello.c timestamp=0 (1970-01-01 00:00:00.0))])), >>> ParameterCacheKey(hashCode=1430898616 parameters={encodi ng=UTF-8, >>> method=xml})]) 12:11:57.040 [btpool0-1] DEBUG >>> o.a.cocoon.pipeline.AbstractPipeline - Invoking first component of >>> CachingPipeline(hashCode=839414089 >>> components=[XMLGenerator(hashCode=1295514377 >>> internalGenerator=URLGenerator(hashCode=12125166 >>> 80 >>> source=file:/home/mansour/workspace/pipelines/repo/articles/example/ >>> i >>> ndex.xml)), >>> XIncludeTransformer(hashCode=373437306 >>> baseUrl=file:/home/mansour/workspace/pipelines/contents/./src/main/r >>> e >>> sources/COB-INF/), >>> XMLSerializer(hashCode=1413585408)]) >>> 12:11:57.040 [btpool0-1] DEBUG o.a.c.sax.component.XMLGenerator - >>> Using the URL >>> file:/home/mansour/workspace/pipelines/repo/articles/example/index.x >>> m >>> l >>> to produce SAX events. >>> 12:11:57.040 [btpool0-1] DEBUG o.a.c.jci.stores.MemoryResourceStore >>> - reading resource >>> com/sun/org/apache/xerces/internal/parsers/SAXParser.class >>> 12:11:57.041 [btpool0-1] DEBUG o.a.c.jci.stores.MemoryResourceStore >>> - reading resource >>> com/sun/org/apache/xerces/internal/parsers/XIncludeAwareParserConfig >>> u >>> ration.class >>> 12:11:57.041 [btpool0-1] DEBUG o.a.c.jci.stores.MemoryResourceStore >>> - reading resource >>> com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.clas >>> s >>> 12:11:57.041 [btpool0-1] DEBUG o.a.c.s.c.XIncludeTransformer - >>> setDocumentLocator called null >>> 12:11:57.042 [btpool0-1] DEBUG o.a.c.jci.stores.MemoryResourceStore >>> - reading resource org/apache/xml/serializer/ToXMLStream.class >>> 12:11:57.043 [btpool0-1] DEBUG o.a.c.s.c.XIncludeTransformer - >>> Processing XInclude element: href=hello.c, parse=text, >>> xpointer=null, encoding=null, accept=null, acceptLanguage=null >>> 12:11:57.043 [btpool0-1] DEBUG o.a.c.s.c.XIncludeTransformer - Including >>> source: >>> file:/home/mansour/workspace/pipelines/contents/src/main/resources/C >>> O >>> B-INF/hello.c >>> 12:11:57.043 [btpool0-1] DEBUG o.a.c.s.c.XIncludeTransformer - Parse >>> type=text >>> 12:11:57.045 [btpool0-1] ERROR o.a.c.s.c.XIncludeTransformer - Error >>> including text: >>> java.io.FileNotFoundException: >>> /home/mansour/workspace/pipelines/contents/src/main/resources/COB-IN >>> F >>> /hello.c >>> (No such file or directory) >>> at java.io.FileInputStream.open(Native Method) ~[na:1.7.0] >>> at java.io.FileInputStream.<init>(FileInputStream.java:138) >>> ~[na:1.7.0] >>> >>> >>> >>> >>> Please note the logs where the baseUrl is in the COB-INF directory. >>> The base url is set to the same the same directory of the article, but the >>> logs shows it didn't change. >>> >>> Thank you >>> >>> >>> >>> On Tue, Nov 13, 2012 at 2:43 AM, Francesco Chicchiriccò >>> <ilgro...@apache.org> wrote: >>>> On 13/11/2012 05:49, Mansour Al Akeel wrote: >>>>> I am doing two project. >>>>> A personal one with C3.0, and one for a product, and using C2.2. >>>>> This issue is happening with C3.0. >>>>> >>>>> I didn't get a chance to test the files you sent me. >>>> Ok, take a look there, then: using the XInclude transformer should >>>> be pretty straightforward. >>>> >>>>> However, from the logs (which are really hard to read), it looks like I >>>>> am having issues with the baseUrl. >>>>> I looked into the source, and tried to set >>>>> baseUrl="full-path-to-my-repo", but that didn't work either. >>>> Again, please take a look at [1] and [2]. >>>> >>>>> Would be nice to see a document describing the attributes to be set on >>>>> each transformer. >>>> XInclude transformer hasn't changed much since C2.1 [3] / C2.2 [4]. >>>> >>>>> A clear error message can be a lot of help as well. >>>> Definitely: in your case, though, I suspect that something really >>>> "basic" is getting wrong. >>>> >>>> Please share your files if you'd like to get more in-depth help. >>>> >>>> Regards. >>>> >>>>> On Mon, Nov 12, 2012 at 2:23 AM, Francesco Chicchiriccň >>>>> <ilgro...@apache.org> wrote: >>>>>> On 12/11/2012 07:59, Mansour Al Akeel wrote: >>>>>>> Here's what I am doing: >>>>>>> >>>>>>> <map:match pattern="article/{id}"> >>>>>>> <map:generate >>>>>>> src="{global:base.repo.path}/articles/{map:id}/index.xml" /> >>>>>>> <map:transform type="xinclude" /> >>>>>>> <map:serialize type="xhtml" /> >>>>>>> >>>>>>> and this is error: >>>>>>> [...] >>>>>> Hi, >>>>>> did you take a look at sample sitemap.xmap [1] (around line 387) >>>>>> and specifically xinclude.xml [2]? >>>>>> >>>>>> BTW: which version are you running? From the reported stacktrace >>>>>> I understand C3, but some of your earlier questions were referring to >>>>>> C2.2.... >>>>>> >>>>>> Regards. >>>>>> >>>>>> [1] >>>>>> https://svn.apache.org/repos/asf/cocoon/cocoon3/trunk/cocoon-samp >>>>>> l e/ src/main/resources/COB-INF/sitemap.xmap >>>>>> [2] >>>>>> https://svn.apache.org/repos/asf/cocoon/cocoon3/trunk/cocoon-samp >>>>>> l e/ src/main/resources/COB-INF/aggregation/xinclude.xml >>>> [3] http://cocoon.apache.org/2.1/userdocs/xinclude-transformer.html >>>> [4] http://cocoon.apache.org/2.2/core-modules/core/2.2/985_1_1.html >> >> -- >> Francesco Chicchiriccò >> >> ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member >> http://people.apache.org/~ilgrosso/ >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org >> For additional commands, e-mail: users-h...@cocoon.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org > For additional commands, e-mail: users-h...@cocoon.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org For additional commands, e-mail: users-h...@cocoon.apache.org B KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB [ X ܚX KK[XZ[ \ \ ][ X ܚX P ۋ \X K ܙ B ܈Y][ۘ[ [X[ K[XZ[ \ \ Z[ ۋ \X K ܙ B --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org For additional commands, e-mail: users-h...@cocoon.apache.org