I followed the XMLForm How-To, which was very thorough and excellent BTW. Everything seems like it should work: I can see the start view, but when the registration view comes up, I get the following stacktrace:
Original exception : java.lang.ArrayIndexOutOfBoundsException at org.apache.xml.utils.IntStack.pop(IntStack.java:127) at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.endElement(SAX2DTM.java:1892) at org.apache.xml.dtm.ref.IncrementalSAXSource_Filter.endElement(Incrementa lSAXSource_Filter.java:287) at org.apache.xalan.transformer.TransformerHandlerImpl.endElement(Transform erHandlerImpl.java:552) at org.apache.cocoon.xml.AbstractXMLPipe.endElement(AbstractXMLPipe.java:14 7) at org.apache.cocoon.xml.AbstractXMLPipe.endElement(AbstractXMLPipe.java:14 7) at org.apache.cocoon.transformation.AbstractSAXTransformer.endElement(Abstr actSAXTransformer.java:366) at org.apache.cocoon.transformation.XMLFormTransformer.endTransformingEleme nt(XMLFormTransformer.java:791) at org.apache.cocoon.transformation.AbstractSAXTransformer.endElement(Abstr actSAXTransformer.java:358) at org.apache.cocoon.components.sax.XMLTeePipe.endElement(XMLTeePipe.java:1 24) at org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser .java:559) at org.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNamespaceB inder.java:853) at org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBinder. java:643) at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValida tor.java:2978) at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.ja va:918) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.handleEndElement(X MLDocumentFragmentScannerImpl.java:1145) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XML DocumentFragmentScannerImpl.java:988) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis patcher.dispatch(XMLDocumentFragmentScannerImpl.java:1446) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDo cumentFragmentScannerImpl.java:333) at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardPars erConfiguration.java:529) at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardPars erConfiguration.java:585) at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147) at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java :1148) at org.apache.avalon.excalibur.xml.JaxpParser.parse(JaxpParser.java:269) at org.apache.avalon.excalibur.xml.JaxpParser.parse(JaxpParser.java:222) at org.apache.excalibur.xmlizer.impl.TextXMLizer.toSAX(TextXMLizer.java:92) at org.apache.excalibur.xmlizer.impl.XMLizerImpl.toSAX(XMLizerImpl.java:75) at org.apache.cocoon.environment.AbstractEnvironment.toSAX(AbstractEnvironm ent.java:479) at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:1 40) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipe line.processXMLPipeline(AbstractCachingProcessingPipeline.java:255) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process (AbstractProcessingPipeline.java:476) at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke( SerializeNode.java:146) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:83) at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(Ac tTypeNode.java:152) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:83) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i nvoke(PreparableMatchNode.java:160) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:107) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(P ipelineNode.java:157) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:107) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke( PipelinesNode.java:152) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:328) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:309) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(Moun tNode.java:131) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:83) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i nvoke(PreparableMatchNode.java:160) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:107) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(P ipelineNode.java:157) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:107) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke( PipelinesNode.java:152) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:328) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:309) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(Moun tNode.java:131) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:83) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i nvoke(PreparableMatchNode.java:160) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:107) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(P ipelineNode.java:157) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode. invokeNodes(AbstractParentProcessingNode.java:107) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke( PipelinesNode.java:152) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:328) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreePro cessor.java:309) at org.apache.cocoon.Cocoon.process(Cocoon.java:585) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:997) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:646) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 83) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:646) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 83) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234 9) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:646) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:644) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:644) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 83) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:646) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 83) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:40 5) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC onnection(Http11Protocol.java:376) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:50 8) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:518) at java.lang.Thread.run(Thread.java:479) Here is the sitemap for the xmlform directory: <?xml version="1.0"?> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <!-- =========================== Components ================================ --> <map:components> <map:actions> <map:action name="WizardAction" src="org.apache.cocoon.samples.xmlform.WizardAction" logger="webapp.xmlform"/> <map:action name="HowtoWizardAction" src="org.apache.cocoon.samples.xmlform.howto.HowtoWizardAction" logger="webapp.xmlform"/> </map:actions> <map:generators default="file"/> <map:transformers default="xslt"> <map:transformer name="xmlform" src="org.apache.cocoon.transformation.XMLFormTransformer" logger="webapp.xmlform"/> </map:transformers> <map:readers default="resource"/> <map:serializers default="html"/> <map:selectors default="browser"/> <map:matchers default="wildcard"> <map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/> </map:matchers> </map:components> <!-- =========================== Views =================================== --> <!-- The debug view can be used to output an intermediate snapshot of the pipeline. Pass cocoon-view=debug as a URL parameter to see the pipeline output produced by the transofrmer labeled "debug". You can move the label to different transformers to understand each processing stage better. --> <map:views> <map:view name="debug" from-label="debug"> <map:serialize type="xml"/> </map:view> <map:view name="xml" from-label="xml"> <map:serialize type="xml"/> </map:view> </map:views> <!-- =========================== Resources ================================= --> <map:resources> </map:resources> <!-- =========================== Pipelines ================================= --> <map:pipelines> <map:pipeline> <map:match pattern=""> <map:redirect-to uri="overview.html"/> </map:match> <map:match pattern="overview.html"> <map:read src="overview.html"/> <map:serialize type="html"/> </map:match> <!-- A non-trivial example - Feedback Wizard --> <map:match pattern="wizard*"> <map:act type="WizardAction"> <!-- XMLForm parameters for the AbstractXMLFormAction --> <map:parameter name="xmlform-validator-schema-ns" value="http://www.ascc.net/xml/schematron"/> <map:parameter name="xmlform-validator-schema" value="schematron/wizard-xmlform-sch-report.xml"/> <map:parameter name="xmlform-id" value="form-feedback"/> <map:parameter name="xmlform-scope" value="session"/> <map:parameter name="xmlform-model" value="org.apache.cocoon.samples.xmlform.UserBean"/> <!-- Content transformation logic --> <map:generate src="wizard/{page}.xml"/> <map:transform type="xmlform" label="debug, xml"/> <map:transform src="stylesheets/wizard2html.xsl" /> <map:transform src="context://samples/stylesheets/xmlform/xmlform2html.xsl"/> <map:serialize type="xhtml"/> </map:act> </map:match> <!-- A non-trivial example - Feedback HowTo Wizard --> <map:match pattern="howto-wizard.html"> <map:act type="HowtoWizardAction"> <!-- XMLForm parameters for the HowtoWizardAction --> <map:parameter name="xmlform-validator-schema-ns" value="http://www.ascc.net/xml/schematron"/> <map:parameter name="xmlform-validator-schema" value="howto/schematron/howto-xmlform-sch-report.xml"/> <map:parameter name="xmlform-id" value="form-howto"/> <map:parameter name="xmlform-scope" value="session"/> <map:parameter name="xmlform-model" value="org.apache.cocoon.samples.xmlform.howto.HowToBean"/> <!-- Content transformation logic --> <map:generate src="howto/{page}.xml"/> <map:transform type="xmlform" label="xml"/> <map:transform src="stylesheets/wizard2html.xsl"/> <map:transform src="context://samples/stylesheets/xmlform/xmlform2html.xsl"/> <map:serialize type="xhtml"/> </map:act> </map:match> </map:pipeline> </map:pipelines> </map:sitemap> <!-- end of file --> Any thoughts? Environment: Cocoon 2.1-dev Tomcat 4.1.3 JDK 1.3.1_03 Win2K Thanks. Matthew --------------------------------------------------------------------- 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]>