Myslím, že zde máte dvě věci špatně:
-
Nejprve váš výraz XPath
//@GovernmentCode/
je špatně. Nemělo by obsahovat koncové/
a nechcete@
buď proto, žeGovernmentCode
je prvek, nikoli atribut. -
Za druhé, musíte zadat deklaraci jmenného prostoru XML ve svém volání
EXTRACTVALUE
stejně jako při voláníEXTRACT
.
Provedením těchto změn získáte následující kód. Rychle jsem to otestoval a zdálo se, že to funguje:
SELECT EXTRACTVALUE (VALUE (xml_list), '//GovernmentCode', 'xmlns="http://www.irs.gov/efile"') AS SysID
INTO lv_transid
FROM TABLE (
XMLSEQUENCE (
EXTRACT (in_xmlclob, '/AckTransmission/Acknowledgement',
'xmlns="http://www.irs.gov/efile"'))) xml_list;