我们需要广泛使用XML2模块提供的'xml_is_well_formed'功能。
然而文档说xml2模块将被弃用,因为“XML语法检查和XPath查询” 从PostgreSQL 8.3开始,基于核心服务器中的SQL / XML标准,与XML相关的功能进行了覆盖。
但是,核心函数XMLPARSE不提供等效功能,因为它检测到无效的XML文档时, 它会抛出一个错误,而不是返回一个真值(这是我们需要的,现在有'xml_is_well_formed'函数)。
例如:
select xml_is_well_formed('<br></br2>'); xml_is_well_formed -------------------- f (1 row) select XMLPARSE( DOCUMENT '<br></br2>' ); ERROR: invalid XML document DETAIL: Entity: line 1: parser error : expected '>' <br></br2> ^ Entity: line 1: parser error : Extra content at the end of the document <br></br2> ^
是否有某种方法可以使用新的核心XML功能来简单地返回真值 以我们需要的方式?。
谢谢, - Mike Berrow
答案 0 :(得分:1)
在pgsql-hackers电子邮件列表中询问了这个问题之后,我很高兴地报告那里的人都同意它仍然需要它们现在已经将这个功能移到了核心。
请参阅: http://web.archiveorange.com/archive/v/alpsnGpFlZa76Oz8DjLs 和 http://postgresql.1045698.n5.nabble.com/review-xml-is-well-formed-td2258322.html