Hi

No tokenizeXml is for not complex XML with tags that are nested. It
uses regexp parsing etc.

Instead using camel-stax or camel-jaxb or something like that.


On Wed, Jun 17, 2020 at 9:14 AM Mikael Andersson Wigander
<mikael.grevs...@gmail.com> wrote:
>
> Hi
>
> We have a XML file to split on tag <Tx>.
> However this tag is also present in a node further down the tree as well.
>
> tokenizeXML is used in our application but now this won’t work because it 
> ends prematurely.
>
> Here’s the XML
>
> <?xml version="1.0" encoding="UTF-8"?>
> <UVMiFIRDocument xmlns="urn:uv:xsd:unavista.mifir.iso20022.001.001.001">
>     <UVHeader>
>         <UVHeader xmlns="unavista.header.001.001.001">
>             <SubmittingEntityID>1312312</SubmittingEntityID>
>         </UVHeader>
>     </UVHeader>
>     <Document>
>         <Document 
> xmlns="urn:iso:std:iso:20022:tech:xsd:DRAFT15auth.016.001.01">
>             <FinInstrmRptgTxRpt>
>                 <Tx>
>                     <New>
>                         <TxId>197X85138XMT</TxId>
>                         <ExctgPty>1231231</ExctgPty>
>                         <InvstmtPtyInd>true</InvstmtPtyInd>
>                         <SubmitgPty>312312</SubmitgPty>
>                         <Buyr>
>                             <AcctOwnr>
>                                 <Id>
>                                     <LEI>123123</LEI>
>                                 </Id>
>                                 <CtryOfBrnch>NL</CtryOfBrnch>
>                             </AcctOwnr>
>                             <DcsnMakr>
>                                 <LEI>549300DLR3UX38D4Z689</LEI>
>                             </DcsnMakr>
>                         </Buyr>
>                         <Sellr>
>                             <AcctOwnr>
>                                 <Id>
>                                     <LEI>123123123</LEI>
>                                 </Id>
>                             </AcctOwnr>
>                         </Sellr>
>                         <OrdrTrnsmssn>
>                             <TrnsmssnInd>true</TrnsmssnInd>
>                         </OrdrTrnsmssn>
>                         <Tx>
>                             <TradDt>2020-06-05T21:18:32.000Z</TradDt>
>                             <TradgCpcty>AOTC</TradgCpcty>
>                             <Qty>
>                                 <NmnlVal Ccy="EUR">3.57</NmnlVal>
>                             </Qty>
>                             <Pric>
>                                 <Pric>
>                                     <MntryVal>
>                                         <Amt Ccy="USD">1.131818</Amt>
>                                     </MntryVal>
>                                 </Pric>
>                             </Pric>
>                             <TradVn>XOFF</TradVn>
>                         </Tx>
>                         <FinInstrm>
>                             <Othr>
>                                 <FinInstrmGnlAttrbts>
>                                     <FullNm>USD/EUR</FullNm>
>                                     <ClssfctnTp>JFTXFP</ClssfctnTp>
>                                     <NtnlCcy>USD</NtnlCcy>
>                                 </FinInstrmGnlAttrbts>
>                                 <DerivInstrmAttrbts>
>                                     <XpryDt>2020-06-09</XpryDt>
>                                     <PricMltplr>1</PricMltplr>
>                                     <UndrlygInstrm>
>                                         <Othr>
>                                             <Sngl>
>                                                 <Indx>
>                                                     <Nm>
>                                                         <RefRate>
>                                                             <Nm>USD/EUR</Nm>
>                                                         </RefRate>
>                                                     </Nm>
>                                                 </Indx>
>                                             </Sngl>
>                                         </Othr>
>                                     </UndrlygInstrm>
>                                     <DlvryTp>PHYS</DlvryTp>
>                                 </DerivInstrmAttrbts>
>                             </Othr>
>                         </FinInstrm>
>                         <ExctgPrsn>
>                             <Clnt>NORE</Clnt>
>                         </ExctgPrsn>
>                         <AddtlAttrbts>
>                             
> <SctiesFincgTxInd>false</SctiesFincgTxInd></AddtlAttrbts>
>                     </New>
>                 </Tx>
>             </FinInstrmRptgTxRpt>
>         </Document>
>     </Document>
> </UVMiFIRDocument>
>
> In the debugger it reveals that it is “broken”
>
> <Tx>
>                     <New>
>                         <TxId>197X85138XMT</TxId>
>                         <ExctgPty>549300DLR3UX38D4Z689</ExctgPty>
>                         <InvstmtPtyInd>true</InvstmtPtyInd>
>                         <SubmitgPty>549300FVRWYPDFJTH118</SubmitgPty>
>                         <Buyr>
>                             <AcctOwnr>
>                                 <Id>
>                                     <LEI>5493000WZY3YLO3WB727</LEI>
>                                 </Id>
>                                 <CtryOfBrnch>NL</CtryOfBrnch>
>                             </AcctOwnr>
>                             <DcsnMakr>
>                                 <LEI>549300DLR3UX38D4Z689</LEI>
>                             </DcsnMakr>
>                         </Buyr>
>                         <Sellr>
>                             <AcctOwnr>
>                                 <Id>
>                                     <LEI>5493006KMX1VFTPYPW14</LEI>
>                                 </Id>
>                             </AcctOwnr>
>                         </Sellr>
>                         <OrdrTrnsmssn>
>                             <TrnsmssnInd>true</TrnsmssnInd>
>                         </OrdrTrnsmssn>
>                         <Tx>
>                             <TradDt>2020-06-05T21:18:32.000Z</TradDt>
>                             <TradgCpcty>AOTC</TradgCpcty>
>                             <Qty>
>                                 <NmnlVal Ccy="EUR">3.57</NmnlVal>
>                             </Qty>
>                             <Pric>
>                                 <Pric>
>                                     <MntryVal>
>                                         <Amt Ccy="USD">1.131818</Amt>
>                                     </MntryVal>
>                                 </Pric>
>                             </Pric>
>                             <TradVn>XOFF</TradVn>
>                         </Tx>
>
>
> Can this be done using tokenizeXML or?
>
>
>
> Thx



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to