Altova XMLSpy 2023 Enterprise Edition

ic_validate        F8

XML | 验证(F8)命令允许您根据DTD、 XML Schema和其他Schema对XML文档进行验证。当您从文本视图切换到任何其他视图时,会自动执行验证。您可以指定在文件打开或保存时自动验证文档(工具 | 选项 | 文件)。验证命令还会在检查有效性之前执行格式检查,因此在使用验证命令之前无需使用检查格式命令。

 

提示:        您还可以打开编辑时验证命令以在编辑数据的同时进行验证。

 

如果文档有效,则会在“消息”窗口中显示一条成功验证消息。

valid

否则,将显示一条描述错误的消息。您可以点击错误消息中的链接以转至XML文档中错误所在的节点。有关错误消息的描述以及如何使用XMLSpy的智能修复来修复验证错误的说明,请参见下一部分。

 

验证错误及其修复方法

当在“消息”窗口中显示验证错误时,错误原因将显示在左侧窗格中(参见下方截图)。在左侧窗格中选择一个原因后,针对它的智能修复建议(如果有)将显示在右侧窗格中。智能修复选项在文本视图网格视图中可用,并基于关联的Schema中的信息。要查看智能修复选项,请单击显示智能修复按钮。如果不希望显示这些修复选项,请单击隐藏智能修复。请注意,如果存在格式相关的错误(例如,开始和结束标签不匹配),则这些错误会在验证错误之前显示。因此,显示/隐藏智能修复按钮仅在到达验证错误时(在所有格式错误被更正后)才会被启用。

单击以展开/折叠

要应用智能修复建议,请(i) 双击它,或(ii) 选择它并单击修复修复+验证选项(参见下方截图)。使用修复+验证命令将验证已修复错误之外的内容并找到下一个错误(如果有)。

ValidateXMLAutoFix

在文本视图中,您会发现另外两个验证错误标记(参见下方截图):(i) 行编号边距中的红色感叹号,以及(ii) 滚动条中的红色标记方块(位于窗口右侧)。

TextViewValErrorIndicators

感叹号图标旁边的灯泡图标(参见上方截图)是智能修复图标。如果将鼠标悬停在它上面,则会显示所有错误原因的所有智能修复方法(参见下方截图)。选择一个修复方法以应用它。

TextViewValErrorSmartFixes
注意:上述的验证错误指标和智能修复仅在执行XML | 验证(F8)命令时才会被刷新;它们不会在后台更新。因此,在更正错误后,您需要再次运行验证(F8)命令以确保确实已修复错误。

 

提示:“消息”窗口有九个选项卡。验证结果始终显示在活动选项卡中。因此,您可以在第一个选项卡中验证一个XML文档,并将结果保留在该选项卡中。要验证第二个文档,请在运行检查之前切换到第二个选项卡(或第三个选项卡,随您喜好)。如果您不切换选项卡,则第一个选项卡(或活动选项卡)中的结果将被最新验证的结果覆盖。

 

在“项目”窗口中验证

您还可以将验证命令应用于活动项目中的文件、文件夹或文件组。为此,在“项目”窗口中选择所需的文件或文件夹(通过单击),然后单击XML | 验证F8。项目中的无效文件将被打开并在主窗口中被激活,同时显示文件无效的错误信息。

 

验证XML文档

要验证XML文件,请确保XML文档在主窗口中处于活动状态,并单击XML | 验证F8。该命令将根据XML文件所引用的Schema来验证XML文档。如果不存在任何引用,则会在“消息”窗口中显示一条错误消息。只要XML文档处于打开状态,Schema就会保留在内存中(参见DTD/Schema菜单中的刷新内存缓存)。

 

验证Schema文档(DTD和XML Schema)

XMLSpy支持主要的Schema方言,包括DTD和XML Schema。要验证Schema文档,请在主窗口中激活该文档,然后单击XML | 验证F8

 

验证消息

有两种类型的消息:

 

如果Schema(DTD或XML Schema)有效,则会在“消息”窗口中显示一条成功验证的消息。

如果Schema无效,则会在“消息”窗口中显示一条错误消息(参见下方截图)。

单击以展开/折叠

在错误消息中会分别显示可能导致该错误的每个原因。例如,在上方截图中,报告了可能导致验证错误的四个原因;第一个被展开,其他三个被折叠。每个原因分为三个部分:

 

1.  可能原因的描述。该描述包含到相关联的Schema文档中相关定义的链接。您可以快速转至特定的Schema定义以查看文档无效的确切原因。

2.  导致该错误的XML文档中的节点的位置路径。单击此位置路径中的任何一个节点将在文档中突出显示该节点。

3.  有关该错误的详细信息,以及指向Schema规范中相关段落的链接。这是规定相关合法性的Schema规则的地方。

 

提示:如果验证是在文本视图中完成的,则单击“消息”窗口中的链接将在文本视图中突出显示相应的定义。如果验证是在Schema视图中完成的,则单击定义链接将在Schema视图中打开该定义并允许您直接编辑组件

 

目录

有关XMLSpy中的目录支持的信息,请参见XMLSpy中的目录部分。

 

使用RaptorXML 2023进行自动验证

RaptorXML 是Altova的独立应用程序,用于XML验证、XSLT转换和XQuery转换。 它可以从命令行、通过COM接口、在Jave程序和.NET应用程序中使用。因此,可以使用RaptorXML自动执行验证任务。例如,您可以创建一个批处理文件,调用RaptorXML对一组文档执行验证,并将输出发送到文本文件。有关详细信息,请参见RaptorXML文档

 

© 2017-2023 Altova GmbH