Я пытаюсь написать хранимую процедуру Informix, которая извлекает некоторые значения элементов XML и значения атрибутов с помощью функции extractvalue.
Как извлечь идентификатор второго человека с помощью xpath в Informix? Я пробовал следующее и его возвращал нуль:
DROP PROCEDURE sp_parse_xml;
CREATE PROCEDURE sp_parse_xml()
RETURNING LVARCHAR(256);
DEFINE l_set SMALLINT;
DEFINE l_node_value LVARCHAR(256);
DEFINE xml_string LVARCHAR(8000);
LET l_set = 0;
LET xml_string = '<personnel><person id="Jason.Ma"><name><family>Ma</family><given>Jason</given></name></person><person id="12345"><name><family>Smith</family><given>John</given></name></person><person id="67890"><name><family>Cook</family><given>Peter</given></name></person></personnel>';
LET l_node_value = extractvalue(xml_string, '/personnel/person[2]/@id');
--RETURN existsnode(xml_string, '/personnel/person[2]/@id');
RETURN l_node_value;
END PROCEDURE;
Спасибо за вашу помощь.