XML 验证器


XML 验证器技术文档

简介

XML 是一种用于描述、传输数据的标记语言,而 XML 验证器则用于验证 XML 文档的正确性。XML 验证器会检查 XML 文档是否符合指定的格式要求,例如验证文档中是否包含必需的元素、属性值是否有效等。本文将介绍 XML 验证器的使用方法以及常见的验证器实现。

使用方法

使用 XML 验证器通常需要指定验证规则,验证规则定义了 XML 文档应该符合的格式要求。以下是一个简单的 XML 验证规则示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>John</to>
  <from>Jane</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

以上 XML 关键示例包含一个 dtd(document type definition)声明。dtd 提供了 XML 标准验证规则,用来定义文档的结构和元素属性。dtd 声明在文件的顶部位置,用代表的语法进行描述。本例中的 dtd 声明如下:

<!DOCTYPE note SYSTEM "note.dtd">

note.dtd 文件包含以下内容:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

以上 dtd 规则定义了 note 元素必须包含 to、from、heading、body 四个子元素,这四个子元素又分别必须都是文本节点。

为了验证 XML 文档是否符合以上规则,我们可以使用 XML 验证器对其进行验证。常见的 XML 验证器有一下几个:

常见实现

1. XMLSpy

XMLSpy 是一款商业软件,它为 XML 编辑和 XML 验证功能提供了完整的解决方案。XMLSpy 内置了 dtd、XML Schema、RELAX NG、Schematron 等验证方式,并提供了 XML pretty-print、XPath、XSLT 转换等许多高级功能。

2. Altova XMLSpy

Altova XMLSpy 是一款 XML 验证器,支持手机 dtd、XML Schema、RelaxNG、XPath、XSLT 等各种验证和转换功能。它可以集成到 Eclipse、Visual Studio、不景气和 Word 中使用,方便快捷。

3. Java API for XML Processing (JAXP)

JAXP 是 Java API for XML Processing,也是一个 XML 处理框架与 SAX、DOM、DTD、XML Schema 等验证方式相结合,可用于检查和解析 XML 文档的正确性。

4. Xerces

Xerces 是由 Apache 开发的 XML 验证器,支持 SAX、DOM、DTD、XML Schema 标准。Xerces 内置的外部实体、公共实体、基于命名空间的校验等特性也让其成为一个功能完整的 XML 解析器。

总结

XML 验证器可以帮助开发者有效验证 XML 文档是否合法。常见的实现有 XMLSpy、Altova XMLSpy、JAXP 和 Xerces 等。不同的验证器具有不同的功能,开发者可以根据自身需求进行选择。