Hi Johannes, This part of your action: // 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");
should read: // Now choose the suitable XSL for the output if(report_id.equals("16")) results.put("result","report_16"); else if(report_id.equals("17") && service_id.equals("GSM")) results.put("result","report_17GSM"); else if(report_id.equals("17") && !service_id.equals("GSM")) results.put("result","report_17"); else if(report_id.equals("19")) results.put("result","report_19"); else if(report_id.equals("18")) results.put("result","report_18"); else results.put("error","error"); In the sitemap you can refer to the keys in the Map you return but not to the variable name of that Map in your Action. HTH Judith > -----Ursprüngliche Nachricht----- > Von: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]] > Gesendet am: Mittwoch, 29. Januar 2003 16:00 > An: [EMAIL PROTECTED] > Betreff: Using an action correctly? > > 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]> > --------------------------------------------------------------------- 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]>