| Author | Message | 
		
		  | JohnMichael | 
			  
				|  Posted: Mon Nov 26, 2007 1:31 am    Post subject: XML Trasformation settings |   |  | 
		
		  |  Acolyte
 
 
 Joined: 28 Feb 2007Posts: 55
 
 
 | 
			  
				| In my flow I am using XML Transformation Node. Can I give XML file as input to this node so that the XSLT file can act opon it?
 If so how?
 If i set input XML in tree structure and pass, then its working
 but the input XML is large file around 200MB which is difficult to put into tree structure.
 Is there any solution to give XML file path as input to this node.
 
 My Toolkit = 6.0.0.1
 Broker = 6.0.0.3
 OS = Win XP SP2
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | XZ | 
			  
				|  Posted: Mon Nov 26, 2007 3:22 am    Post subject: |   |  | 
		
		  |  Apprentice
 
 
 Joined: 22 May 2006Posts: 45
 Location: IBM Hursley
 
 | 
			  
				| You have to put your XML file content as the message body of your input message.  It does not matter it is in a flat format or not.  If it is too big, try to increase the JVM heap space (refer to the online doc on the node for how to do that).  The XMLT node itself can't read input from a file system. _________________
 Regards,
 
 -XZ
 WMQI Development
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | JohnMichael | 
			  
				|  Posted: Mon Nov 26, 2007 3:34 am    Post subject: XML file content as the message body of your input message |   |  | 
		
		  |  Acolyte
 
 
 Joined: 28 Feb 2007Posts: 55
 
 
 | 
			  
				| Yes I have tried by keeping the whole content of file into messsage body but OutOfMemory exception is raised. Then I increased the jvmHeapSize to 1GB but still its showinig the same exception as OutOfMemory.
 
 I have increased the Heap size using mqsichangeproperties brokername.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | fjb_saper | 
			  
				|  Posted: Mon Nov 26, 2007 3:38 am    Post subject: Re: XML Trasformation settings |   |  | 
		
		  |  Grand High Poobah
 
 
 Joined: 18 Nov 2003Posts: 20767
 Location: LI,NY
 
 | 
			  
				| 
   
	| JohnMichael wrote: |  
	| In my flow I am using XML Transformation Node. Can I give XML file as input to this node so that the XSLT file can act opon it?
 If so how?
 If i set input XML in tree structure and pass, then its working
 but the input XML is large file around 200MB which is difficult to put into tree structure.
 Is there any solution to give XML file path as input to this node.
 
 My Toolkit = 6.0.0.1
 Broker = 6.0.0.3
 OS = Win XP SP2
 |  200 MB for one message / one atomic transaction??
 This looks to me like a number of transactions.
 My suggestion: either use another XSLT engine that will allow you to work on the stream or use the file adapter node or equivalent and split the file into it's atomic transactions...
  _________________
 MQ & Broker admin
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Mon Nov 26, 2007 3:41 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| 
  The XMLT node works on the raw XML - which is exactly what you need. If you pass it a message tree, it has to convert the message tree to an XML bitstream before it can apply the XSLT transform. As XZ says, just put the XML document as the message body, and set the domain to XMLNS or XMLNSC on the input node. 
	| Quote: |  
	| but the input XML is large file around 200MB which is difficult to put into tree structure. |  
 Performance tip:
 Make sure you set 'Parse Timing' to 'On demand' in your input node ( it is the default setting ). This ensures that WMB will not parse your input XML unless you attempt to read its content. Then try to make sure that your XMLT node gets to the unparsed message before the other nodes read any of its content.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | XZ | 
			  
				|  Posted: Mon Nov 26, 2007 3:44 am    Post subject: |   |  | 
		
		  |  Apprentice
 
 
 Joined: 22 May 2006Posts: 45
 Location: IBM Hursley
 
 | 
			  
				| In that case I don't think using file path will help you.  The Xalan Engine is probably consuming too much space to parse your input. _________________
 Regards,
 
 -XZ
 WMQI Development
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | fjb_saper | 
			  
				|  Posted: Mon Nov 26, 2007 4:03 am    Post subject: |   |  | 
		
		  |  Grand High Poobah
 
 
 Joined: 18 Nov 2003Posts: 20767
 Location: LI,NY
 
 | 
			  
				| 
   
	| kimbert wrote: |  
	| 
  The XMLT node works on the raw XML - which is exactly what you need. If you pass it a message tree, it has to convert the message tree to an XML bitstream before it can apply the XSLT transform. As XZ says, just put the XML document as the message body, and set the domain to XMLNS or XMLNSC on the input node. 
	| Quote: |  
	| but the input XML is large file around 200MB which is difficult to put into tree structure. |  
 Performance tip:
 Make sure you set 'Parse Timing' to 'On demand' in your input node ( it is the default setting ). This ensures that WMB will not parse your input XML unless you attempt to read its content. Then try to make sure that your XMLT node gets to the unparsed message before the other nodes read any of its content.
 |  
 I hope segmentation will allow him to get his 200 MB in one message...
  _________________
 MQ & Broker admin
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |