Мисля, че тук грешите две неща:
-
Първо, вашият XPath израз
//@GovernmentCode/
не е наред. Не трябва да има завършващ/
и не искате@
или защотоGovernmentCode
е елемент, а не атрибут. -
Второ, трябва да посочите декларацията на XML пространството от имена във вашето извикване към
EXTRACTVALUE
както и във вашето извикване къмEXTRACT
.
Извършването на тези промени ви оставя със следния код. Направих му бърз тест и изглежда, че работи:
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;