I have a file XML in the iSeries IFS.
This is the initial parts of the file:
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.04">
<BkToCstmrDbtCdtNtfctn>
<GrpHdr>
<MsgId>CAMT054_20220708_173908613_1OUMVN4N</MsgId>
<CreDtTm>2022-07-08T17:39:08.613Z</CreDtTm>
<MsgPgntn>
<PgNb>1</PgNb>
<LastPgInd>true</LastPgInd>
</MsgPgntn>
<AddtlInf>SPS/1.7/PROD</AddtlInf>
</GrpHdr>
<Ntfctn>
I need to extract some tags, but doesn't work
SELECT XMLDOC.*
FROM (VALUES(XMLPARSE(DOCUMENT GET_XML_FILE('/temp/CAMT054.xml')) )) AS XMLFILE(FATTURE),
XMLTABLE('$doc/Document/BkToCstmrDbtCdtNtfctn/Ntfctn/Ntry/NtryDtls/TxDtls' PASSING XMLFILE.FATTURE AS "doc"
COLUMNS
Reference VARCHAR(27) PATH 'RmtInf/Strd/CdtrRefInf/Ref',
Amount DECIMAL(17, 2) PATH 'AmtDtls/TxAmt/Amt'
) AS XMLDOC
But if I manually delete this part from the tag "DOCUMENT", all work correctly
xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.04"
How can I bypass this problem? I see XMLNAMESPACES function, but I didn't understand if it's useful for my problem.