XML 文档验证

XML 编辑器检查 XML 1.0 语法,并在键入时执行数据验证。 编辑器可以使用文档类型定义(DTD)或架构进行验证。 红色波浪下划线突出显示任何 XML 1.0 格式正确的错误。 蓝色波浪下划线根据 DTD 或模式验证显示语义错误。 每个错误在错误列表中都有一个关联的条目。 还可以将鼠标悬停在波浪下划线上来查看错误消息。

通过将已编译架构的 targetNamespace 与元素的 xmlns 声明进行匹配,可以找到用于验证的架构。 已编译的架构从以下位置之一加载,按优先级顺序列出:

  • 从文档“属性”窗口的“架构”字段中指定的文件名。

  • 内联架构或 DTD。

  • 外部 DTD 或xsd:schemaLocation属性和xsd:noNamespaceSchemaLocation属性

  • “x-schema” XDR 架构命名空间 URI。

当架构具有非空目标命名空间时,还可以在以下附加位置中找到架构:

  • 另一个包含架构的编辑器窗口。

  • 当前解决方案中的架构。

  • 模式缓存目录中的模式。

XSLT 文件

编辑 XSLT 文件时,架构缓存中的 xslt.xsd 文件用于验证。 验证错误显示为蓝色波浪下划线。 XSLT 编译器中的错误显示为红色波浪下划线。

XML 架构 (XSD) 文件

编辑 XML 架构文件时,位于架构缓存中的 xsdschema.xsd 文件用于验证。 验证错误显示为蓝色波浪下划线。 任何编译错误也以红色波浪下划线显示。

实体引用限制

DTD 处理默认将实体引用数限制为 10,000 个引用,并且可以容纳大多数 XML 架构。 Visual Studio 中的错误消息可能会显示“文件名超出实体引用限制”。

如果在处理 XML 文档时遇到此限制,并且希望将验证程序扩展到更大的架构,则可以使用 MaxNumberOfDtdEntityReferences Visual Studio 注册表项更改此限制。 有关进行此更改的详细信息 ,请参阅编辑 Visual Studio 实例的注册表 。 请注意,这适用于该计算机上用户打开的所有 XML 文档。