Author |
Message
|
JohnMichael |
Posted: Mon Nov 26, 2007 1:31 am Post subject: XML Trasformation settings |
|
|
 Acolyte
Joined: 28 Feb 2007 Posts: 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 2006 Posts: 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 2007 Posts: 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 2003 Posts: 20756 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 2003 Posts: 5542 Location: Southampton
|
Quote: |
but the input XML is large file around 200MB which is difficult to put into tree structure. |
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.
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 2006 Posts: 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 2003 Posts: 20756 Location: LI,NY
|
kimbert wrote: |
Quote: |
but the input XML is large file around 200MB which is difficult to put into tree structure. |
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.
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 |
|
 |
|