|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
XMLTransformation Node - Problem with bit complex logic |
« View previous topic :: View next topic » |
Author |
Message
|
jolloqui |
Posted: Thu Apr 12, 2007 11:22 pm Post subject: XMLTransformation Node - Problem with bit complex logic |
|
|
Novice
Joined: 15 Mar 2007 Posts: 20
|
Hello, I'm having the following problem:
When using a basic XSLT, the transformation works Ok
Code: |
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<temp>hello</temp>
</xsl:template>
</xsl:stylesheet>
|
but, when updating the same XSLT file with something a bit more complex:
Code: |
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:element name="{name(/*[1])}">
<xsl:for-each select="/*[1]/*">
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
|
it fails.
I've tested the XSLT with Saxon in my own laptop and it works. In the Server, the same xsl when used for transformation in WBI Message Flows, it fails.
When i test the XSLT with Saxon in the WBI Server, it fails.
The error that comes as an output of running saxon in the server is Unable to start the application. The Microsoft virtual machine cannot be found.
^
I think JVM is properly installed and is running fine.
The xslt when tried from the WBI message flow, gives this error.
(error below - it's quite wordy)
The environment is WBI 5.0.5 in a Win 2000 server.
It feels like a parser / interpreter issue - but not sure. Thanks for the help!
The error from WBI is :
Code: |
com.ibm.xsl.exmlt.TransformRequestException: Transformation failure when processing Stylesheet C:/hertel/DataLoads-005/GeneralFunctions/CompareConditions/PatternMatch.xsl
ERROR: '-1'
javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:609)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:282)
at com.ibm.xsl.exmlt.ParseFacilitator.parseXmlStylesheet(ParseFacilitator.java:634)
at com.ibm.xsl.exmlt.ParseFacilitator.parse(ParseFacilitator.java:247)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformWithStylesheet(EnhancedXMLTransform.java:802)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:735)
at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:725)
at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:877)
---------
java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2._exptype2(SAX2DTM2.java:1925)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.getNodeNameX(SAX2DTM2.java:2666)
at org.apache.xalan.xsltc.dom.DOMAdapter.getNodeNameX(DOMAdapter.java:264)
at PatternMatch.template$dot$0()
at PatternMatch.applyTemplates()
at PatternMatch.transform()
at org.apache.xalan.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:580)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:602)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:282)
at com.ibm.xsl.exmlt.ParseFacilitator.parseXmlStylesheet(ParseFacilitator.java:634)
at com.ibm.xsl.exmlt.ParseFacilitator.parse(ParseFacilitator.java:247)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformWithStylesheet(EnhancedXMLTransform.java:802)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:735)
at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:725)
at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:877)
Transformation failure when processing Stylesheet C:/hertel/DataLoads-005/GeneralFunctions/CompareConditions/PatternMatch.xsl
ERROR: '-1'
javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:609)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:282)
at com.ibm.xsl.exmlt.ParseFacilitator.parseXmlStylesheet(ParseFacilitator.java:634)
at com.ibm.xsl.exmlt.ParseFacilitator.parse(ParseFacilitator.java:247)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformWithStylesheet(EnhancedXMLTransform.java:802)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:735)
at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:725)
at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:877)
---------
java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2._exptype2(SAX2DTM2.java:1925)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.getNodeNameX(SAX2DTM2.java:2666)
at org.apache.xalan.xsltc.dom.DOMAdapter.getNodeNameX(DOMAdapter.java:264)
at PatternMatch.template$dot$0()
at PatternMatch.applyTemplates()
at PatternMatch.transform()
at org.apache.xalan.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:580)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:602)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:282)
at com.ibm.xsl.exmlt.ParseFacilitator.parseXmlStylesheet(ParseFacilitator.java:634)
at com.ibm.xsl.exmlt.ParseFacilitator.parse(ParseFacilitator.java:247)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformWithStylesheet(EnhancedXMLTransform.java:802)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:735)
at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:725)
at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:877)
com.ibm.xsl.exmlt.TransformRequestException: Transformation failure when processing Stylesheet C:/hertel/DataLoads-005/GeneralFunctions/CompareConditions/PatternMatch.xsl
ERROR: '-1'
javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:609)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:282)
at com.ibm.xsl.exmlt.ParseFacilitator.parseXmlStylesheet(ParseFacilitator.java:634)
at com.ibm.xsl.exmlt.ParseFacilitator.parse(ParseFacilitator.java:247)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformWithStylesheet(EnhancedXMLTransform.java:802)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:735)
at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:725)
at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:877)
---------
java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2._exptype2(SAX2DTM2.java:1925)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.getNodeNameX(SAX2DTM2.java:2666)
at org.apache.xalan.xsltc.dom.DOMAdapter.getNodeNameX(DOMAdapter.java:264)
at PatternMatch.template$dot$0()
at PatternMatch.applyTemplates()
at PatternMatch.transform()
at org.apache.xalan.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:580)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:602)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:282)
at com.ibm.xsl.exmlt.ParseFacilitator.parseXmlStylesheet(ParseFacilitator.java:634)
at com.ibm.xsl.exmlt.ParseFacilitator.parse(ParseFacilitator.java:247)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformWithStylesheet(EnhancedXMLTransform.java:802)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:735)
at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:725)
at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:877)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:738)
at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:725)
at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:877)
|
Last edited by jolloqui on Fri Apr 13, 2007 1:00 am; edited 1 time in total |
|
Back to top |
|
 |
XZ |
Posted: Fri Apr 13, 2007 12:58 am Post subject: |
|
|
 Apprentice
Joined: 22 May 2006 Posts: 45 Location: IBM Hursley
|
This seems to be a Xalan xsltc bug. You should raise a PMR or report this to the Xalan development team. Setting the style sheet cache level on the XMLT node to 0 should avoid the problem. _________________ Regards,
-XZ
WMQI Development |
|
Back to top |
|
 |
jolloqui |
Posted: Fri Apr 13, 2007 1:51 am Post subject: |
|
|
Novice
Joined: 15 Mar 2007 Posts: 20
|
My mistake - it works!! (deleted prev-post)
Thanks!!
 |
|
Back to top |
|
 |
PrasLearnsWBI |
Posted: Sun Apr 15, 2007 3:35 am Post subject: |
|
|
 Novice
Joined: 06 Apr 2007 Posts: 13 Location: Budapest, Hungary
|
Quote: |
Setting the style sheet cache level on the XMLT node to 0 should avoid the problem.
|
Thanks XZ
it works now. But i am wondering, in the previous set ups, we have numerous XMLT nodes which worked even without setting the cache level to 0. I dont know how to explain this behavior. Can you please help? All i want is a take a learning from this behavior. I will appreciate, if someone comes up with a good explanation
Thanks a Bunch _________________ I wonder that I am around !! |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|