如何使用Java或javascript中的SCH验证XML

时间:2019-08-05 08:49:28

标签: javascript java schematron

我已经创建了一个工具来创建XML文件,但是现在我需要根据SCH(Schematron)文件来验证生成的XML。但是,我尝试过的工具都没有起作用。

作为名称空间,无法访问URI。

有没有可用的工具可用于java或javascript,以针对SCH文件或XSLT文件验证此XML?

任何答案将不胜感激 非常感谢 〜本

1 个答案:

答案 0 :(得分:0)

一种常见的方法是使用Schematron网站http://schematron.com/front-page/the-schematron-skeleton-implementation/上描述的基于XSLT的过程。

该过程将Schematron模式转换为XSL文档,然后使用该XSL文档转换您要验证的文档。最终结果是SVRL(Schematron验证报告语言)文档,该文档描述了发现的所有验证问题。

shell脚本过程如下:

要将Schematron模式转换为XSL:

xslt -stylesheet iso_dsdl_include.xsl  theSchema.sch > theSchema1.sch
xslt -stylesheet iso_abstract_expand.xsl  theSchema1.sch > theSchema2.sch
xslt -stylesheet iso_svrl_for_xsltn.xsl  theSchema2.sch > theSchema.xsl

要验证XML文档:

xslt -stylesheet theSchema.xsl  myDocument.xml > myResult.xml

可以使用XSLT库在Java中完成该过程。如果您的Schematron架构使用XSLT2 / Xpath 2,那么我建议您使用Saxon XSLT库。

相关问题