Uploaded image for project: 'XalanJ2'
  1. XalanJ2
  2. XALANJ-2453

ClassCastException during transformation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.7.1, 2.7
    • None
    • transformation
    • Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects. Anybody can view the issue.)
    • None
    • GNU/Linux 2.6 kernel 32-bit, Sun JRE 1.5.0_13, Xalan 2.7.1 and libs included with the Xalan 2.7.1 distro.

    Description

      Using an XSLT found in the VectorConverter 1.2 package to convert an SVG document into a VML document, the following exception is generated. I started out using Cocoon, which provides the full stack trace shown below. The command-line use of Xalan shows a less useful message, which is also included below. I will include an example SVG that fails to transform, and I'll see if I'm permitted to attach the XSLT in question from VectorConverter, or if you'll have to go get it yourselves to reproduce (sorry).

      First, the CLI message:

      file:///path/to/svg2vml.xsl; Line #114; Column #122; org.apache.xpath.objects.XBooleanStatic

      Now, the full stack trace provided by Cocoon:

      java.lang.ClassCastException: org.apache.xpath.objects.XBooleanStatic
      at org.apache.xpath.axes.FilterExprIteratorSimple.executeFilterExpr(FilterExprIteratorSimple.java:116)
      at org.apache.xpath.axes.FilterExprWalker.setRoot(FilterExprWalker.java:131)
      at org.apache.xpath.axes.WalkingIterator.setRoot(WalkingIterator.java:157)
      at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:265)
      at org.apache.xpath.axes.LocPathIterator.asIterator(LocPathIterator.java:269)
      at org.apache.xpath.axes.UnionPathIterator.setRoot(UnionPathIterator.java:80)
      at org.apache.xpath.axes.LocPathIterator.asNode(LocPathIterator.java:300)
      at org.apache.xpath.axes.LocPathIterator.bool(LocPathIterator.java:320)
      at org.apache.xpath.operations.And.bool(And.java:72)
      at org.apache.xpath.operations.Or.bool(Or.java:72)
      at org.apache.xpath.XPath.bool(XPath.java:412)
      at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:126)
      at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
      at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
      at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)
      at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376)
      at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)
      at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376)
      at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)
      at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2270)
      at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1356)
      at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3447)
      at org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:408)
      at org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:56)
      at org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:586)
      at org.apache.xml.serializer.ToXMLSAXHandler.endDocument(ToXMLSAXHandler.java:183)
      at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367)
      at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3447)
      at org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:408)
      at org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:56)
      at org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:586)
      at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source)
      at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source)
      at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
      at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
      at org.apache.excalibur.xml.impl.JaxpParser.parse(JaxpParser.java:315)
      at org.apache.excalibur.xml.impl.JaxpParser.parse(JaxpParser.java:334)
      at org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:326)
      at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:116)
      at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:579)
      at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:279)
      at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:481)
      at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:121)
      at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
      at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
      at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
      at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
      at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
      at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
      at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:253)
      at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
      at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
      at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
      at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
      at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
      at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
      at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
      at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:253)
      at org.apache.cocoon.Cocoon.process(Cocoon.java:699)
      at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1154)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
      at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
      at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
      at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
      at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
      at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
      at java.lang.Thread.run(Thread.java:595)

      Attachments

        1. VectorConverter-SVG2VML-transformer.zip
          67 kB
          Christopher Schultz
        2. test.svg
          4 kB
          Christopher Schultz

        Activity

          People

            Unassigned Unassigned
            chris@christopherschultz.net Christopher Schultz
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: