Ferdinand Soethe a écrit :

This is untested, but would be where I would start experimenting and I'm
pretty sure is close to correct (maybe even correct ;-).

Thanks Ross, that was exactly what I was looking for. I just didn't
know where to intercept. Will give it a try right away ...

Hi,

   I made this in my php pipeline :
 <map:pipeline>

   <!-- PHP Documentation -->
   <map:match type="regexp" pattern="^(.*?)([^/]*).php$">
     <map:generate src="cocoon://{1}{2}.html"/>
     <map:transform src="resources/stylesheets/php/document2php.xsl"/>
     <map:serialize type="html"/>
   </map:match>

 </map:pipeline>
And I realise with the cocoon profiler - thank you Ross - that it takes lot of time to call the <map:generate src="cocoon://{1}{2}.html"/> - and certainly lots of CPU because with dozens of php files I get an Out of Memory... -

Here is an example of the profiler for a small php page :

*livres/livres.php* (2 results, total time: 4720, average time: 2360) 0 <http://localhost:8888/cprofile.html?key=3889731732187908544&result=0> 1 <http://localhost:8888/cprofile.html?key=3889731732187908544&result=1>
1       file /src=/cocoon://livres/livres.html  3031    3031    3031
2       xslt /src=/resources/stylesheets/php/document2php.xsl   46      46      
46
3       html    16      16      16
4       TOTAL   2360    3891    829
*livres/livres.xml* (4 results, total time: 46, average time: 11) 0 <http://localhost:8888/cprofile.html?key=-8345536717863364507&result=0> 1 <http://localhost:8888/cprofile.html?key=-8345536717863364507&result=1> 2 <http://localhost:8888/cprofile.html?key=-8345536717863364507&result=2> 3 <http://localhost:8888/cprofile.html?key=-8345536717863364507&result=3> 1 file /src=/D:\duc\VIEWSI~1/src/documentation/content/xdocs/livres/livres.xml 4 0 16 0 0
2       xml-document    11      0       0       15      31
3       TOTAL   11      0       0       15      31


What's wrong with me - or exactly what's wrong with my pipeline ;-)  ?

Salutations,
Cyriaque,

OK. I put this

<!-- php Pilelines -->
           <!--pipeline that "marries" the docs in the root dir with the skin to 
produce html-->
           <map:match pattern="*.php">
               <map:aggregate element="site">
                   <map:part src="cocoon:/skinconf.xml"/>
                   <map:part src="cocoon:/build-info"/>
                   <map:part src="cocoon:/tab-{1}.html"/>
                   <map:part src="cocoon:/menu-{1}.html"/>
                   <map:part src="cocoon:/body-{1}.html"/>
               </map:aggregate>
<map:call resource="skinit">
                   <map:parameter name="type" value="site2xhtml"/>
                   <map:parameter name="path" value="{1}.html"/>
               </map:call>
</map:match> <!--pipeline that "marries" the docs in all other dirs then root with the skin to produce html-->
           <map:match pattern="**/*.php">
               <map:aggregate element="site">
                   <map:part src="cocoon:/skinconf.xml"/>
                   <map:part src="cocoon:/build-info"/>
                   <map:part src="cocoon:/{1}/tab-{2}.html"/>
                   <map:part src="cocoon:/{1}/menu-{2}.html"/>
                   <map:part src="cocoon:/{1}/body-{2}.html"/>
               </map:aggregate>
               <map:call resource="skinit">
                   <map:parameter name="type" value="site2xhtml"/>
                   <map:parameter name="path" value="{1}.html"/>
               </map:call>
           </map:match>

into my custom sitemap and copied the skinit-ressource into it as well
(because Forrest complained).

Then I entered a href of

       abc.php

into my sitemap and placed the html-document
abc.html into xdocs.

However trying that menu-item I only received this rather unspecific
error message:

Message: null
Description: No details available.
Sender: org.apache.cocoon.servlet.CocoonServlet
Source: Cocoon Servlet
Request URI
anmeldungPHP.php
cause
null
request-uri
/anmeldungPHP.php

Any ideas?

--
Ferdinand Soethe