在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
Schema约束及XML Schema特点介绍,XML Schema是什么?XML Schema基于XML的DTD替代者,XML Schema 的作用是定义XML文档的合法构建模块类似DTD,可描述 XML 文档的结构,XML Schema语言也可作为XSD(XML Schema Definition)来引用。

XML是一种通用的数据交换格式可以使数据再各种应用程序之间轻松地实现数据交换。而XMLSchema是一种定义和描述XML文档结构与内容的模式语言。DTD是XML的一种XML约束但没有Schema好。
一个XML文档可以引入多个约束文档,如不同约束文档中定义了同名元素或属性,则会导致名称冲突,于是Schema引入了名称空间。同名的元素或属性可以通过名称空间区分。
同DTD一样XML Schema是一种用于定义和描述XML文档结构与内容的模式语言,它克服了DTD的局限性,通过XML Schema与DTD的比较将XML Schema具有显著的优点:
1、DTD采用非XML语法格式,缺乏对文档结构、元素、数据类型等全面的描述。而XML Schema采用XML语法格式,它本身是一种XML文档,因此XML Schema语法格式比DTD更好理解。
2、XML有非常高的合法性要求,虽然DTD和XML Schema都用于对XML文档进行描述都被用作验证XML合法性的基础。但DTD本身合法性的验证必须采用另外一套机制,而XML Schema则采用与XML文档相同的合法性验证机制。
3、XML Schema对名称空间支持得非常好而DTD几乎不支持名称空间。
4、DTD支持数据类型非常有限。如DTD可以指定元素中必须包含字符文本(PCDATA),但无法指定元素中必须包含非负整数,而XML Schema比XML DTD支持更多的数据类型,包括用户自定义的数据类型。
5、DTD定义约束的能力非常有限,无法对XML实例文档作出更细致的语义限制,例如,无法很好地指定一个元素中的某个子元素必须出现7到12次;而XML Schema定义约束的能力非常强大,可以对XML实例文档作出细致的语义限制。
XML Schema定义可出现在文档中的元素、属性、哪个元素是子元素、子元素的次序、子元素的数目、元素是否为空,或者是否可包含文本、元素和属性的数据类型、元素和属性的默认值以及固定值。XML Schema的功能比DTD强大很多,而语法也比DTD复杂很多,XML Schema 是DTD的继任者, XML Schema会在大部分网络应用程序中取代DTD。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
程序员如何避免写出烂代码?
一个优秀的程序员应该要求自己尽量写出好代码,众所周知,好的代码应该符合逻辑清晰,易于维护,整洁简单,性能优化等优点。而完全与之相反的就是我们所说的烂代码。那么,我们应该如何避免写出烂代码呢?本文将为大家总结出十条避坑准则,希望可以帮助程序员们写出更加优美简洁的代码。
7809
2020-02-24 16:26:27
在线学习编程怎么样?能学好吗?
IT行业作为目前的大热门行业,其职业发展前途和薪资待遇都吸引着越来越多的人投身于此。随着互联网+教育时代的到来,许多人开始通过在线IT培训平台进行学习。相信不少人还是对此抱有疑问:在线学习编程怎么样?能学好吗?其实,现在优质的在线编程教育已经越来越多了。下面就来给大家好好介绍一下博学谷这样专注于线上的IT培训平台。
7986
2020-02-27 09:25:37
IT程序员怎样实现财富自由?技术是核心竞争力
IT程序员怎样实现财富自由?程序员100%的脑力工作者,但很多人把自己变成体力工作者,自己身处劳动密集型产业,有的人甚至以日产出几千行代码为傲。程序员不是简单会敲代码就行,构思、设计、编码、测试、调试,往往编码只占很小的比例。
7037
2020-03-26 15:47:03
Java和Python应该学哪个好?
随着IT编程成为大热的学习科目,许多人对于Java和Python应该学哪个好,充满了疑问。因为Java和Python都是目前风头强劲的编程语言,下面我将带大家好好认识一下这两种编程语言,并带大家看看它们的区别,以及应用场景和薪资待遇。相信大家看完之后,对于上面这个问题会有自己的答案。
7603
2020-04-24 18:13:07
什么叫IT技能?
IT技能计算机知识。包括多种多样的种类。从精通程度上可以分为精通、熟练、了解等;从所学内容上,把你学过的语言、用过的工具、掌握的技术都写上,按条理分类写。
11847
2020-05-28 15:10:23
