【问题标题】:XMLSpy ValidatorXMLSpy 验证器
【发布时间】:2011-09-12 13:33:19
【问题描述】:

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

非常感谢:)

【问题讨论】:

    标签: xml xsd xmlspy


    【解决方案1】:

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

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

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

    更常见的是产品之间在架构是否有效方面存在差异,而不是在实例是否有效方面存在差异。

    【讨论】:

    • 感谢 Micheal,我们得到它来验证是否缺少一个必需的元素。但令我困惑的是为什么 XMLSpy 是唯一捕获它的验证器!非常感谢您的回复:)
    • 我很想知道,但正如我在回复中所说,您将不得不透露更多关于您在做什么的信息。一定很奇怪。
    【解决方案2】:

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

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

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

    【讨论】:

    • 感谢 Wim,我认为我应该坚持使用 XMLSpy,因为我们不知道其他团队会使用什么!所以我们可能会坚持使用严格的验证器..
    • 如果要在代码(Java 或其他)中完成验证,您可能不得不从那里回来。我怀疑你能找到一个可以添加到项目中的带有 Altova 引擎的库。
    • 是的,所以这是使用严格验证的 informatica 数据转换的阶段的输入,因此如果输入无效,我们将无法运行下一阶段..
    • 为了在 XMLSpy 中使用 Xerces,请从xml-tools.com 获取 XML ValidatorBuddy 插件。您可以轻松获得 Schematron 支持并访问 Xerces 验证引擎。
    • 听起来和看起来像是一个有效的选择,克莱门斯。感谢您的信息。
    猜你喜欢
    • 2020-01-20
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    相关资源
    最近更新 更多