我必须编写一个XSLT来将XML文件转换为另一个XML文件。原始输入文件必须对DTD有效。有没有一种方法可以让XSLT在转换之前针对DTD验证输入xml文件?如果输入文件不符合DTD,也拒绝输入文件。
另外,我将在像Oxygen XML Editor这样的工具中运行XSLT。
提前致谢。 JK
答案 0 :(得分:1)
不使用内置的XSLT-1.0函数(也无法以干净的方式检测非格式化)。您的环境可能能够通过其他工具(如DOM Builders)提供此功能。
答案 1 :(得分:1)
您必须通过XSLT处理器执行此操作。我认为在XSLT本身中没有办法做到这一点。
在oXygen中,您可以在首选项中转到“XML / XSLT-FO-XQuery / XSLT / Saxon / Saxon-HE / PE / EE”并打开或关闭DTD验证(有一个组合框)。
答案 2 :(得分:0)
这完全取决于您使用的工具。在这种情况下,这是一个关于氧气编辑器的问题。 XSLT规范中没有任何内容要求处理器在读取XML时执行DTD验证。