通过代码示例跟我学xmlschema相关的应用技术——xmlschema中的各个标签的应用示例内容摘要:

不同的含义) 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 6/15 页 XML Schema 与 DTD 在应用方面 的 主要 区别 XML Schema 与 DTD都可以用来验证 XML文档,那么到底什么时候使用 XML Schema,什么时候使用 DTD 呢。 在什么情况下使用什么技术,当然得看什么技术在短期内和长期情况下能给出最大的价值,这就有需要了解这两种技术之间的区别。 下面就对这两种技术之间的区别进行简单的介绍。 ( 1)语法的区别 DTD 有自己的特殊语法。 而 XML Schemas 是 XML 文档,它是 用 XML 写的。 这就给用户带来了如下三个好处: 1) 只要了解基本的 XML 语法规则,就可以编写语法合格的 XML Schema。 2) XML 工具软件可以利用 XML 文档和 Schemas 之间语法通用这一优点为两者提供支持。 例如支持操作 XML 文档的分析工具也能用来操作 Schemas,但是 DTD 不能以同样的方式操作。 3) XML Schemas 能够进行扩展,也就是能够向 XML schemas 中加入新的元素和属性。 只要元素和属性名域不同,它们在一个 Schema 中是合法的。 而 DTD 将无法解析扩充的内容。 ( 2)数据类型的区别 1) DTD 只允 许把内容类型定义为一个字符串。 2) 而 XML schemas 允许把内容类型定义为整型、浮点型、数据型、布尔型或者许多其他的简单数据类型。 如果想要编写一个应用软件来处理那个元素的内容,并且需要那个元素的值为整数,在 DTD 中,必须首先获得其对应的字符串,然后再把它转化成一个整数,而在 Schema 中,可以直接得到那个整数值。 ( 3)是否支持名域 ( 命名空间 ) XML Schema 利用名域将文档中特殊的节点与 Schema 说明相联系,一个 XML 文件可以对应有多个不同的 Schema(各个 Schema 通过命名空间进行相互区分 )命名空间;而如果是使用 DTD,一个 XML 文件只能有一个与之相对应的 DTD 文件。 ( 4) DTD 与 Schema 的比较 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 7/15 页 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 8/15 页 XML Schema 的用法应用示例 我们用实际的例子来介绍 XML Schema 的用法。 比如,有这样的 XML 实例文档。 ( 1) XML 文档 ( ) ?xml version= encoding=GB2312? !DOCTYPE studentlst SYSTEM Employees oneEmployee personName张三 /personName 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 9/15 页 sex男 /sex personID001/personID workDate157632/workDate /oneEmployee oneEmployee personName李四 /personName sex女 /sex personID002/personID workDate1578425/workDate /oneEmployee /Employees ( 2)该文档用 DTD 定义如下 ( ) ?xml version= encoding=UTF8? !ELEMENT Employees (oneEmployee)* !ELEMENT oneEmployee (personName, sex, personID, workDate) !ELEMENT personName (PCDATA) !ELEMENT sex (PCDATA) !ELEMENT personID (PCDATA) !ELEMENT workDate (PCDATA) 但是其中 personName 和 sex、 personID 等文本元素的数据类型都是统一的字符类型,而事实上我们一般要求对它们有更为严格的限制。 比如,要求 personName 仍然为字符类型,而 sex 为可选的枚举类型,只能取男或女, personID 要求是五位的整数类型,并且要求workDate 为日期类型。 ( 3)采用 Schema 来定义 personName 和 workDate 的 数据类型 element name=personName type=string minOccurs=1 maxOccurs=1/ element name=workDate type=date minOccurs=1 maxOccurs=1/ 其中 string 和 date 类型都是 Schema 中自带的基本数据类型( Primary Data Type)。 minOccurs 和 maxOccurs 是最少和最多出现次数,这里是表示有而且只出现一次。 Schema中的 简单 数据 类型 请见下面的表格 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。