Hi, I have written an action and compiled it successfully. I put it in the cocoon/WEB-INF/lib folder as a jar:
package test.acting; import java.util.Map; import java.util.HashMap; import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.acting.AbstractAction; import org.apache.cocoon.environment.Request; import org.apache.cocoon.environment.SourceResolver; import org.apache.cocoon.environment.Redirector; import org.apache.cocoon.environment.ObjectModelHelper; import org.xml.sax.EntityResolver; public class XslSelection extends AbstractAction { public Map act(Redirector redirector, SourceResolver resolver, Map objectModel, String source, Parameters parameters){ Map results = new HashMap(); Request request = ObjectModelHelper.getRequest(objectModel); String report_id = request.getParameter("report_id"); String service_id = request.getParameter("service_id"); // Now choose the suitable XSL for the output if(report_id.equals("16")) results.put("report_16","report_16"); else if(report_id.equals("17") && service_id.equals("GSM")) results.put("report_17GSM","report_17GSM"); else if(report_id.equals("17") && !service_id.equals("GSM")) results.put("report_17","report_17"); else if(report_id.equals("19")) results.put("report_19","report_19"); else if(report_id.equals("18")) results.put("report_18","report_18"); else results.put("error","error"); return results; } } In the sitemap I "import" it as follows. ... <map:actions> <!-- here is the class defined that is used for choosing the right xsl for the output --> <map:action name="xslSelect" src="test.acting.XslSelection"/> ... </map:actions> Thats how I use it in the sitemap: ... <map:match pattern="blabla"> <map:generate src="sampleoutput.xml"/> <map:act type="xslSelect"> <map:transform src="stylesheets/{results}.xsl"/> <map:serialize type="fo2pdf"/> </map:act> </map:match> ... But I only get the error that cocoon can't find the page (Resource not found). Invoking the different stylesheets "manually" is no problem, but using the action. Since it is my first action, I don't know where to look for the error. Another question. Can't I just give back a String? My XSLs are called report_16.xsl, report_17.xsl, report_18.xsl, report_19.xsl, error.xsl Jonny ---------------------------------------------------------------------------------------------------- This electronic message contains information from the mmo2 plc Group which may be privileged or confidential. The information is intended to be for the use of the individual(s) or entity named above. If you are not the intended recipient be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. If you have received this electronic message in error, please notify us by telephone or email (to the numbers or address above) immediately. --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>