| Author | Message | 
		
		  | team | 
			  
				|  Posted: Sun May 20, 2007 10:52 pm    Post subject: Large XSLTs giving cache problem |   |  | 
		
		  | Centurion
 
 
 Joined: 03 Nov 2006Posts: 108
 
 
 | 
			  
				| I'am trying to use XSLT in XML transformation node for performing a transformation requirement. 
 When I set the Stylesheet Cache Level to any value >0 the messages are failing to process where as with Stylesheet Cache Level = 0 the messages are getting processed succeffuly. Hence I reached the conclusion that the system is unable to cache the compiled XSLT due to its size.
 
 Is there someway to increase the XSLT's cache size ?
 
 Environment used - WINDOWS , WMB 6.0
 
 Thanks in advance.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | team | 
			  
				|  Posted: Sun May 20, 2007 11:25 pm    Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 03 Nov 2006Posts: 108
 
 
 | 
			  
				| Further details that might help- Size of the XSL file 165 KB
 System RAM - 2 GB
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | XZ | 
			  
				|  Posted: Mon May 21, 2007 12:09 am    Post subject: |   |  | 
		
		  |  Apprentice
 
 
 Joined: 22 May 2006Posts: 45
 Location: IBM Hursley
 
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | team | 
			  
				|  Posted: Mon May 21, 2007 6:37 am    Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 03 Nov 2006Posts: 108
 
 
 | 
			  
				| Following is the error messages I'am getting. 
 RecoverableException  BIP4447E: XMLT node ''XMLTransformation'' encountered a problem during the transformation.  The error message is ''Transformation failure when processing Stylesheet deployed
 
 javax.xml.transform.TransformerConfigurationException: Could not load the translet class .
 at org.apache.xalan.xsltc.trax.TemplatesImpl.defineTransletClasses(TemplatesImpl.java:323)
 at org.apache.xalan.xsltc.trax.TemplatesImpl.getTransletInstance(TemplatesImpl.java:341)
 at org.apache.xalan.xsltc.trax.TemplatesImpl.newTransformer(TemplatesImpl.java:374)
 at org.apache.xalan.xsltc.trax.TemplatesImplProxy.newTransformer(TemplatesImplProxy.java:106)
 at com.ibm.xsl.exmlt.StylesheetCache.getPreprocessedStylesheet(StylesheetCache.java:659)
 at com.ibm.xsl.exmlt.ParseFacilitator.parseXmlStylesheet(ParseFacilitator.java:552)
 at com.ibm.xsl.exmlt.ParseFacilitator.parse(ParseFacilitator.java:253)
 at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformWithStylesheet(EnhancedXMLTransform.java:801)
 at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:734)
 at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:734)
 at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:940)
 at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1222)
 at com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
 at com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:140)
 at com.ibm.mq.supportpacs.XMLValidatorNode.XMLValidatorNode.evaluate(XMLValidatorNode.java:156)
 at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1222)
 ''.
 The transformation could not be completed.
 
 My search says that this is an issue with the XALAN parser when run on jdk1.5. but I'am using jdk1.4 and I'am getting the error still.
 
 This link  'http://w3.xml.ibm.com/xsl/java/dist/xslt4j-2_6_9/docs/extensions_xsltc.html#constraints' is no more available.
 Kindly advice.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | XZ | 
			  
				|  Posted: Mon May 21, 2007 7:21 am    Post subject: |   |  | 
		
		  |  Apprentice
 
 
 Joined: 22 May 2006Posts: 45
 Location: IBM Hursley
 
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | team | 
			  
				|  Posted: Mon May 21, 2007 9:51 pm    Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 03 Nov 2006Posts: 108
 
 
 | 
			  
				| Thanks for that link. I'am going through the same.
 
 Just wanted to mention why I concluded that its could be a cache issue. I have a block in my XSLT that is repeating twice. If I put each instance of this block seperately then the XSLT is getting compiled properly. But when tried to put in together it refuses to compile.
 I confirm that we are not delaing with any array instances or CARDINALITY.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | XZ | 
			  
				|  Posted: Mon May 21, 2007 11:58 pm    Post subject: |   |  | 
		
		  |  Apprentice
 
 
 Joined: 22 May 2006Posts: 45
 Location: IBM Hursley
 
 | 
			  
				| Could be a Xalan bug.  Have you tried compiling your style sheet using Xalan directly? _________________
 Regards,
 
 -XZ
 WMQI Development
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | team | 
			  
				|  Posted: Wed May 23, 2007 4:36 am    Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 03 Nov 2006Posts: 108
 
 
 | 
			  
				| I'am trying to run the transformation outside the broker using the xalan parser. 
 As per my understanding the WMB6.0 used XALAN 2.2 d11 and the latest version of XALAN available is 2.7
 
 Is it possible to change the verison of the parser used by the XML transformation Node ?
  |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | XZ | 
			  
				|  Posted: Wed May 23, 2007 6:54 am    Post subject: |   |  | 
		
		  |  Apprentice
 
 
 Joined: 22 May 2006Posts: 45
 Location: IBM Hursley
 
 | 
			  
				| WMB V6 uses Xalan V2.6.  It is very close to V2.7. _________________
 Regards,
 
 -XZ
 WMQI Development
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | team | 
			  
				|  Posted: Thu May 24, 2007 10:55 pm    Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 03 Nov 2006Posts: 108
 
 
 | 
			  
				| The XALAN version change is not helping me much with this issue. 
 Thinking of an alternate workaround using XSL includes or import.
 
 I have now split the big XSL and I'am trying to include these with in a main xsl using the <xsl:include>.
 This is working outside the broker but is not working when used with the XMLT node flows and deployed to the broker.
 
 Any ideas if the <xsl:include> works with broker ?
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | XZ | 
			  
				|  Posted: Thu May 24, 2007 11:46 pm    Post subject: |   |  | 
		
		  |  Apprentice
 
 
 Joined: 22 May 2006Posts: 45
 Location: IBM Hursley
 
 | 
			  
				| Every thing should work if it works outside broker.  Have you deployed the style sheets to be included as well?  Which version have you used outside the broker?  Make sure you upgrad to the latest service fix pack.  I suggest you raise a PMR if this is still a problem. _________________
 Regards,
 
 -XZ
 WMQI Development
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | nvenkatesh | 
			  
				|  Posted: Sat Jul 07, 2007 9:56 am    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 29 Jan 2007Posts: 45
 
 
 | 
			  
				| We do have the same problem. When the xsl size is greater than 45KB approx. and the cache level property is set greater than zero in XMLTransformation node, We are getting the exception "Could not load the translet class" in the event viewer(not to forget mention that the broker version is 6.0.0.3 and the toolkit 6.0.2 with interim fixes. Hope this is the latest). Any further references to APAR's/help on this would be appreciated. |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Sat Jul 07, 2007 10:50 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| Did you increase the EG JVM heap size, per the instructions in the reference on the XMLTransformation node in the Info Center? _________________
 I am *not* the model of the modern major general.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | nvenkatesh | 
			  
				|  Posted: Sun Jul 08, 2007 11:07 pm    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 29 Jan 2007Posts: 45
 
 
 | 
			  
				| Jefflowrey, 
 I had already kept the JVM heap size to 1GB before executing  the flow. Plz see the below output.
 
 C:\Program Files\IBM\MQSI\6.0>mqsireportproperties WBRK6_DEFAULT_BROKER -e default -o ComIbmJVMManager -n jvmMaxHeapSize
 
 1073741824
 
 BIP8071I: Successful command completion.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |