Topic
3 replies Latest Post - ‏2012-11-30T13:21:08Z by kimbert@uk.ibm.com
Kalicharan
Kalicharan
49 Posts
ACCEPTED ANSWER

Pinned topic XMLNSC Question

‏2012-11-26T20:49:19Z |
Hi, i have a XML message in this format

<abc>
<cde></cde>
<cde></cde>
<cde></cde>
....
...
5000 times
<cde></cde>
<efg>123<efg>
</abc>

In my ESQL if i use a statement SET value = OuputRoot.XMLNSC.abc.efg; does it traverse thru all the 5000 previous tags. I am just trying to see if having <efg> tag earlier in the xml will give some performance gains. Any idea anyone?
Updated on 2012-11-30T13:21:08Z at 2012-11-30T13:21:08Z by kimbert@uk.ibm.com
  • kimbert@uk.ibm.com
    kimbert@uk.ibm.com
    514 Posts
    ACCEPTED ANSWER

    Re: XMLNSC Question

    ‏2012-11-27T16:41:08Z  in response to Kalicharan
    By default, all WMB parsers use 'on demand' parsing. If your message flow does not need to parse the entire input message, then you will see big performance gains if you put the '<efg>' tag near the start of the message.
    If your message flow is validating the input message ( Validation=Content and Value ) or if it reads every field in the input then the performance gain will be small or nil. Either way, if you have the choice then you should put often-accessed data near the start of the document so that other flows that deal with the same document type can perform optimally.
    • Kalicharan
      Kalicharan
      49 Posts
      ACCEPTED ANSWER

      Re: XMLNSC Question

      ‏2012-11-29T22:18:24Z  in response to kimbert@uk.ibm.com
      Hi Kimbert, thanks for your response

      My Flow is like this

      Http Input (Input Message Parsing set to XMLNSC, Validate set to None )-> Compute Node (Validate Set to None)

      i have my ESQL code in the compute node

      SET value = OuputRoot.XMLNSC.abc.efg

      In this situation moving the tag to start. Will it help performance wise?
  • kimbert@uk.ibm.com
    kimbert@uk.ibm.com
    514 Posts
    ACCEPTED ANSWER

    Re: XMLNSC Question

    ‏2012-11-30T13:21:08Z  in response to Kalicharan
    It probably will help performance for that line of ESQL.
    It might help the performance of the entire flow if the rest of the flow does not look at the other 5000 tags.