如何知道什么节点对XMLType无效



这是使用xmltype

在PL_SQL中验证XML文件的代码
doc := dbms_xmldom.newdomdocument;
...  xml file is build
v_xml:=DBMS_XMLDOM.GETXMLTYPE(doc);
v_schema:=v_xml.createSchemaBasedXML('xml.xsd');
BEGIN
  v_schema.schemavalidate();
EXCEPTION
WHEN OTHERS THEN
  dbms_output.put_line('XML File is not valid');
END;

是否可以知道文件在哪里无效,什么节点?

谢谢

注意:以这种方式隐藏了例外:

ORA-31154: invalid XML document
ORA-19202: Error occurred in XML processing
LSX-00333: literal "" is not valid with respect to the pattern

dbms_utility.format_error_stack正在提供更多错误详细信息,包括LSX错误消息,这给您带来了验证错误的类型,例如

dbms_output.put_line(dbms_utility.format_error_stack);

ORA-31154:无效的XML文档

ORA-19202:XML处理中发生错误

LSX-00220:"长度错误,应为12

ora-06512:at sys.xmltype&quort',354

最新更新