1

XMLspy 使用什么 XML 验证器?我遇到了一个问题,我可以使用 Oxygen 针对架构验证 XML 文件,但是当我使用 XMLSpy 时它无效!有没有人对此有任何一般的想法?

非常感谢 :)

4

2 回答 2

3

XMLSpy 使用自己的验证引擎。通常问题是反过来的,XMLSpy 接受其他模式处理器拒绝的东西。众所周知,Altova 选择不强制执行唯一粒子属性约束。

Oxygen 可以配置为使用 Xerces 或 Saxon。两者都高度符合 W3C 规范,尽管存在一些灰色区域(例如 xs:redefines 的复杂序列),您很少会在其中让两个处理器达成一致。有些事情在 W3C 规范中明确实现定义,例如对接受日期范围的限制。

如果您需要更具体的帮助,您必须告诉我们两种产品的架构、实例和错误消息是什么样的。

更常见的是产品之间关于模式是否有效的差异,而不是关于实例是否有效的差异。

于 2011-09-12T17:18:30.460 回答
1

您可以通过配置设置告诉 Oxygen 使用不同的验证引擎。如果我没记错的话,默认的是 Xalan,你可以将它换成 MSXML 或 Saxon 或......

从外观上看,您无法在 Altova 中做到这一点,并且您被 Altova 自己的验证引擎困住了(这显然非常严格)。我读过一篇论坛帖子,提示在 XMLSpy 中使用宏来使用外部系统/验证引擎。如果你能做到,你可以让它发挥作用。

在不讨论这些程序中的哪一个(或其利基市场中的其他程序)更好的情况下,并避免就可用的不同验证引擎进行类似讨论,我建议您(和您的团队)选择一个,最好基于一些研究当然,并坚持下去。如果在某一时刻该模式也被外部各方使用,那么让他们使用与您相同的模式将是一项挑战。根据情况,外部方或您将不得不调整偏好。

于 2011-09-12T14:14:38.137 回答