ここで間違っていることが2つあると思います:
-
まず、XPath式
//@GovernmentCode/間違っている。末尾に/を付けないでください 、そしてあなたは@を望まないGovernmentCodeは要素であり、属性ではありません。 -
次に、
EXTRACTVALUEの呼び出しでXML名前空間宣言を指定する必要がありますEXTRACTへの呼び出しと同様に 。
これらの変更を行うと、次のコードが残ります。簡単なテストを行いましたが、うまくいったようです:
SELECT EXTRACTVALUE (VALUE (xml_list), '//GovernmentCode', 'xmlns="https://www.irs.gov/efile"') AS SysID
INTO lv_transid
FROM TABLE (
XMLSEQUENCE (
EXTRACT (in_xmlclob, '/AckTransmission/Acknowledgement',
'xmlns="https://www.irs.gov/efile"'))) xml_list;