LPX-00607:无效的引用:'ends-with'

时间:2017-09-18 16:57:09

标签: oracle

我得到的是下面的errpr:

ORA-31011:XML解析失败 ORA-19202:XML处理发生错误 LPX-00607:无效的引用:'ends-with'。 31011. 00000 - “XML解析失败” *原因:XML解析器在尝试解析文档时返回错误。 *操作:检查要解析的文档是否有效。 当我试图在oracle SQLDeveloper中执行下面的语句时,有人可以帮我修复下面的查询。

选择emp_id,Extract(emp_xml,'// node()[ancestor :: item_content或ancestor :: stimulus_reference] [not(ancestor :: rationale)] [self :: inline_variable] / preceding-sibling :: node( )[1] [self :: text()] [not(ends-with(。,“”)或ends-with(。,“”)或ends-with(。,“ - ”))]')。 getStringVal()作为信息 来自emp,其中emp_id ='S348'

谢谢。

1 个答案:

答案 0 :(得分:0)

Extract()函数is deprecated,我认为它只支持XPath 1.0规范。 ends-with是XPath 2.0规范的一部分。

如果你使用XMLQuery(),它会使用包含XPath 2的XQuery。所以我认为这应该有用吗?

select XMLQuery(
  '//node()[ancestor::item_content or ancestor::stimulus_reference][not(ancestor::rationale)][self::inline_variable]/preceding-sibling::node()[1][self::text()][not(ends-with(., " ") or ends-with(., " ") or ends-with(., "—"))]'
  PASSING emp_xml RETURNING CONTENT).getStringVal() as info
from emp where emp_id ='S348';