`
wind_bell
  • 浏览: 290888 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论
阅读更多
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

<!--仅验证是否是“格式良好的”-->

分享到:
评论
1 楼 lliiqiang 2014-09-23  
关键在于业务也正确,数据格式只是一种声明协议

相关推荐

    XML 验证器.html

    XML 验证器.html

    非常简单实用的XML验证器

    非常简单实用的XML验证器

    XML验证器(XSD验证XML)

    XML文档的结构严谨,为了确保XML文件的数据正确性和一致性,XML验证成为了一个重要的步骤。XML验证通常有两种方式:DTD(Document Type Definition)验证和XSD(XML Schema Definition)验证。本话题主要关注的是XSD...

    c# XML 验证器 Schema验证XML

    C#作为.NET框架的主要编程语言,提供了丰富的库来处理XML操作,包括XML验证。本文将深入探讨如何在C#中使用XML Schema(XSD)进行XML验证。 标题"XML 验证器 - C#中的Schema验证XML"着重强调了使用C#来验证XML文档...

    XML验证器,验证格式提示错误信息

    XML验证器是检查XML文档是否符合特定语法规则或模式的工具,确保数据的有效性和一致性。在这个项目中,我们关注的是一个基于HTML和JavaScript开发的XML验证器,它能够帮助开发者快速识别并解决XML文档中的格式错误。...

    xml验证

    XML验证是确保XML文档结构正确且符合预定义规则的关键步骤。这一过程通常涉及XML Schema或DTD(Document Type Definition),它们为XML文档提供了结构约束。 XML Schema是一种XML格式,用于定义XML文档的结构和数据...

    struts2官方例子7-表单验证 xml形式的验证

    XML验证的优点在于其灵活性和可读性。开发者可以在Action类旁创建一个与Action类同名的.xml文件,比如Action类名为`UserAction.java`,那么对应的验证文件就是`UserAction-validation.xml`。在这个文件中,我们可以...

    NIIT_xml验证环境

    "NIIT_xml验证环境"显然是一种专为学习和测试XML验证技术而设计的平台。NIIT(National Institute of Information Technology)是一家知名的教育机构,提供多种IT课程,包括XML相关的学习资源。 在XML环境中,验证...

    struct2的xml验证与实现单点登陆

    "struct2的xml验证与实现单点登录"是一个主题,它涵盖了两个核心概念:XML验证以及单点登录(Single Sign-On, SSO)的实现。接下来,我们将深入探讨这两个知识点。 首先,XML验证是确保XML文档符合特定结构或模式的...

    struts2基于xml验证(最常用的三种类型String、Date、int验证).doc

    在探讨Struts2框架中的XML验证机制时,我们聚焦于三种最常见的数据类型验证:String、Date、int。这些验证在Web应用开发中至关重要,确保了数据的完整性和正确性,从而提高了应用程序的健壮性和用户体验。 ### 一、...

    WEB开发 之 XML 验证.docx

    在本文档中,我们主要探讨了XML验证的概念,包括“形式良好”XML文档的特征以及XML验证的方法。 “形式良好”的XML文档是指遵循XML语法规则的文档。以下是一些关键规则: 1. **根元素**:每个XML文档必须有一个...

    抽取JAR包的XML验证的客户端小软件

    标题中的“抽取JAR包的XML验证的客户端小软件”是指一个使用DELPHI编程语言开发的工具,其主要功能是解析和验证JAR(Java Archive)文件中的XML数据。这个客户端程序能够帮助用户检查XML文件的结构是否符合预定义的...

    检验xml文件有效性的小工具

    3. `.fatjar`:通常表示一个包含所有依赖的"胖"jar文件,可以独立运行,包含了运行这个XML验证工具所需的全部类和资源。 4. `rt.jar`:这是Java运行时库的一部分,包含了Java标准类库,如`javax.xml.*`,这些类库...

    JavaScript,验证XML正确性

    ### JavaScript 验证 XML 正确性的方法 在 Web 开发中,XML(可扩展标记语言)被广泛用于数据交换和存储。为了确保 XML 文件的结构完整性和语法正确性,通常需要对其进行验证。本文将详细介绍如何使用 JavaScript ...

    Atom-feed-validator,基于node.js的简单验证工具,用于rss或atom等提要。支持opensearch.xml验证。基于validator.w3.org/feed.zip

    Atom-feed-validator.zip,基于node.js的简单验证工具,用于rss或atom等提要。支持opensearch.xml验证。基于validator.w3.org/feed饲料验证器,atom是一个用web技术构建的开源文本编辑器。

    xml的序列化与验证

    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++验证xml文件正确性的方法

    以下是使用VC++和MSXML进行XML验证的基本步骤: 1. **加载XML文件**:使用IXMLDOMDocument的load方法加载XML文件到内存中。例如: ```cpp IXMLDOMDocumentPtr pXMLDoc; HRESULT hr = pXMLDoc.CreateInstance(__...

    xmlCheck.exe xml格式校验

    当有大批量xml文件但是里面有极个别xml错误时, 可以使用该工具, 检查某个文件夹下所有xml文件是否正确, 对检查结果进行输出 (只会检查一层文件, 即A文件夹下有xml文件和B文件夹, 则选中A文件夹不会检查B文件夹下的...

    struts2 validation.xml 验证规则代码解析

    Struts2 Validation.xml 验证规则代码解析 Struts2 Validation.xml 验证规则代码解析是 Struts2 框架中的一种验证机制,主要用于在用户提交表单时验证用户输入的数据。该机制通过定义 Validation.xml 文件来实现,...

    XML学习心得分享XML学习心得分享

    XML学习心得分享 XML(Extensible Markup Language)是一种用于建立描述结构化...* XML验证工具:用于验证XML文档是否为良好格式 XML是一种功能强大且灵活的语言,广泛应用于数据交换、数据存储、电子商务等领域。

Global site tag (gtag.js) - Google Analytics