XML文档必须严格遵守语法规范,即都必须是“格式良好的”。同时,XML文档还应当符合语义方面的规范,即是“有效的”。对XML文档有效性的检查称为对XML的“验证”(Validation)。
“格式良好的”是对XML文档最基本的要求。凡是“格式良好的”XML文档都可以被XML解析器解析,进而生成对象树,以便接受进一步的处理。而且“有效的” XML必定是“格式良好的”。在此基础上,还要遵守DTD或XML Schema的语法规定,只有这样才能保证XML文档的易读性,同时还能充分地体现数据信息之间的关系,从而更好地描述数据。
DTD可以定义XML文档的词汇和语法。利用正则表达式,DTD除了可以说明XML文件中哪些元素是必需的、哪些是可选的、元素所能包含的属性等元素本身信息外,还可以描绘元素之间的结构信息。比如,某个元素可以嵌套哪些子元素、子元素的个数以及出现次序、是否可选等等。
典型的DTD格式如下: ww.w3 sk y.com
● 以DOCTYPE声明为起始标志,告诉解析器以下内容属于DTD;
● 位于DOCTYPE后的DTD名称,必须与XML文档中的根元素完全一致,后面再跟着一个“[”号,接下来才是DTD正文。
DTD有两种使用方式: 内嵌式(如例4)和引用式(如例5)。它们在XML文档中的位置都必须位于根元素出现之前。
例4:
<?xml version=“1.0”?>
<!DOCTYPE employees [
……ELEMENT and ATTLIST definitions……
]>
<employees>
……XML data……
</employees>
例5:
<?xml version=“1.0”?>
<!DOCTYPE employees SYSTEM “Employees.dtd”>
<employees>
……XML data……
</employees>
目前,DTD是W3C推荐的验证XML文档有效性的唯一正式规范,但它也有着许多不足:
● DTD过于复杂,要熟悉它的语法、标记集合需要一定的时间和精力,而且DTD采用的是非XML语法规则,不能用XML工具进行操作处理;
● DTD对数据类型定义支持不够,所定义的数据类型有限,并且都是针对属性而设立,无法满足电子商务等Web应用所需要的丰富数据类型;
● 扩展机制复杂,也很脆弱,最大的弊病在于不能表达元素之间的相互关系;
● DTD不支持名称空间的机制。
以上种种缺陷,促使W3C组织致力于寻求一种新的机制来取代DTD。在众多的标准之中, Microsoft公司为主提出的XML Schema较为引人注目。它具有完全符合XML语法、丰富的数据类型、良好的可扩展性以及易被DOM等XML解析器处理等优点。
最后介绍一个用于XML验证的小工具:xmlint.exe。它可以用来验证XML文档是“格式良好的”以及“有效的”,用法如下:
xmlint c:\my_xml\*.xml
<!--验证所有XML文档是否是“有效的”-->
xmlint -w c:\my_xml\*.xml
<!--仅验证是否是“格式良好的”-->
分享到:
相关推荐
XML 验证器.html
非常简单实用的XML验证器
XML文档的结构严谨,为了确保XML文件的数据正确性和一致性,XML验证成为了一个重要的步骤。XML验证通常有两种方式:DTD(Document Type Definition)验证和XSD(XML Schema Definition)验证。本话题主要关注的是XSD...
C#作为.NET框架的主要编程语言,提供了丰富的库来处理XML操作,包括XML验证。本文将深入探讨如何在C#中使用XML Schema(XSD)进行XML验证。 标题"XML 验证器 - C#中的Schema验证XML"着重强调了使用C#来验证XML文档...
XML验证器是检查XML文档是否符合特定语法规则或模式的工具,确保数据的有效性和一致性。在这个项目中,我们关注的是一个基于HTML和JavaScript开发的XML验证器,它能够帮助开发者快速识别并解决XML文档中的格式错误。...
XML验证是确保XML文档结构正确且符合预定义规则的关键步骤。这一过程通常涉及XML Schema或DTD(Document Type Definition),它们为XML文档提供了结构约束。 XML Schema是一种XML格式,用于定义XML文档的结构和数据...
XML验证的优点在于其灵活性和可读性。开发者可以在Action类旁创建一个与Action类同名的.xml文件,比如Action类名为`UserAction.java`,那么对应的验证文件就是`UserAction-validation.xml`。在这个文件中,我们可以...
"NIIT_xml验证环境"显然是一种专为学习和测试XML验证技术而设计的平台。NIIT(National Institute of Information Technology)是一家知名的教育机构,提供多种IT课程,包括XML相关的学习资源。 在XML环境中,验证...
"struct2的xml验证与实现单点登录"是一个主题,它涵盖了两个核心概念:XML验证以及单点登录(Single Sign-On, SSO)的实现。接下来,我们将深入探讨这两个知识点。 首先,XML验证是确保XML文档符合特定结构或模式的...
在探讨Struts2框架中的XML验证机制时,我们聚焦于三种最常见的数据类型验证:String、Date、int。这些验证在Web应用开发中至关重要,确保了数据的完整性和正确性,从而提高了应用程序的健壮性和用户体验。 ### 一、...
在本文档中,我们主要探讨了XML验证的概念,包括“形式良好”XML文档的特征以及XML验证的方法。 “形式良好”的XML文档是指遵循XML语法规则的文档。以下是一些关键规则: 1. **根元素**:每个XML文档必须有一个...
标题中的“抽取JAR包的XML验证的客户端小软件”是指一个使用DELPHI编程语言开发的工具,其主要功能是解析和验证JAR(Java Archive)文件中的XML数据。这个客户端程序能够帮助用户检查XML文件的结构是否符合预定义的...
3. `.fatjar`:通常表示一个包含所有依赖的"胖"jar文件,可以独立运行,包含了运行这个XML验证工具所需的全部类和资源。 4. `rt.jar`:这是Java运行时库的一部分,包含了Java标准类库,如`javax.xml.*`,这些类库...
### JavaScript 验证 XML 正确性的方法 在 Web 开发中,XML(可扩展标记语言)被广泛用于数据交换和存储。为了确保 XML 文件的结构完整性和语法正确性,通常需要对其进行验证。本文将详细介绍如何使用 JavaScript ...
Atom-feed-validator.zip,基于node.js的简单验证工具,用于rss或atom等提要。支持opensearch.xml验证。基于validator.w3.org/feed饲料验证器,atom是一个用web技术构建的开源文本编辑器。
2、XML验证文档的生成工具 trang.jar 3、利用XSD文件的XML3种验证方法 1)Dom4j的SAXValidator (dom4j.jar, javax.xml.parsers 相关类) 2)Javax.xml.validation API(Java1.5及以上) 3)Jdom(jdom.jar,xerces...
以下是使用VC++和MSXML进行XML验证的基本步骤: 1. **加载XML文件**:使用IXMLDOMDocument的load方法加载XML文件到内存中。例如: ```cpp IXMLDOMDocumentPtr pXMLDoc; HRESULT hr = pXMLDoc.CreateInstance(__...
当有大批量xml文件但是里面有极个别xml错误时, 可以使用该工具, 检查某个文件夹下所有xml文件是否正确, 对检查结果进行输出 (只会检查一层文件, 即A文件夹下有xml文件和B文件夹, 则选中A文件夹不会检查B文件夹下的...
Struts2 Validation.xml 验证规则代码解析 Struts2 Validation.xml 验证规则代码解析是 Struts2 框架中的一种验证机制,主要用于在用户提交表单时验证用户输入的数据。该机制通过定义 Validation.xml 文件来实现,...
XML学习心得分享 XML(Extensible Markup Language)是一种用于建立描述结构化...* XML验证工具:用于验证XML文档是否为良好格式 XML是一种功能强大且灵活的语言,广泛应用于数据交换、数据存储、电子商务等领域。