- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DTD与Schema
DTD与Schema 主讲:王志龙 内容 DTD的定义 Schema的定义 XML的命名空间 DTD的定义 将DTD引入“有效的”XML文件中 内部DTD 外部DTD 公用DTD 将DTD引入“有效的”XML文件中 结构良好的XML文档 该文档有且只有一个根元素 每个元素都必须有开始和结束标记 开始和结束标记的大小写应一致 能正确表示空元素 元素间应是并列关系,或者完全包含关系,不能交叉 元素中的属性写在开始标记内,属性值用引号引起来 将DTD引入“有效的”XML文件中 有效的XML文档 文档必须是结构良好的 文档根元素的名字必须与DTD中的名字匹配 文档必须有个DTD,在该DTD中声明了所有用于文档中的元素、属性和实体 文档必须符合有DTD规定的规则 内部DTD 含义:即在XML文档内所定义的XML语法规则 应该放在文件的什么地方。 加入的位置是紧接在XML处理指令之后 DTD的XML文件的结构为: ?xml version = “1.0” encoding=“GB2312” standalone = “yes”?!DOCTYPE 根元素名[??? 元素描述??? ] 例子 Example.xml 外部DTD 含义:即任何XML文档都可以共享的XML语法规则 好处:它可以方便高效地被多个XML文件所共享。你只要写一个DTD文件,就可以被多个XML文件所引用 格式:!DOCTYPE 根元素名 SYSTEM “外部DTD文件的URL绝对路径或相对路径 范例:lab.dtd 注意:引用外部DTD时,要在DOCTYPE中使用关键字SYSTEM 公用DTD 含义:是一个由权威机构制订的,提供给特定行业或公众使用的DTD 格式:!DOCTYPE 根元素 PUBLIC DTD名称 外部DTD的URL 公用DTD格式说明 DTD名称只能包含字母、数字、空格和下面的符号:_%$#@()+:=/!*;? !DOCTYPE 联系人列表 PUBLIC 联系人DTD /dtds/fclml.dtd DTD名称还必须符合一些标准的规定。例如,ISO标准的DTD以“ISO”三个字母开头;被改进的非ISO标准的DTD以加号“+”开头;未被改进的非ISO标准的DTD以减号“-”开头。 !DOCTYPE 联系人列表 PUBLIC -//Luna Dong//Contact Data//CN/dtds/fclml.dtd 定义元素及其子元素 元素类型声明 定义元素及其子元素 有顺序的子元素 重复元素 成组元素 OR或 可选子元素 混合内容 空元素 元素类型声明(ETD) 含义:ETD不但说明了每个文件中可能存在的元素,给出了元素的名字,而且给出了元素的具体类型。 ETD应该采用如下的结构: !ELEMENT 元素名 元素内容描述 范例:lab1.xml ANY:被定义为“可以”包含任何其它元素 注意 除了根元素外,在定义其它元素时使用关键字ANY都是不好的习惯 在定义元素时,ETD的顺序是无关紧要的(lab2.xml) 元素名的第一个字母必须是字母、或下划线(_)、或冒号(:),后跟字母、数字、句号(.)、冒号、下划线、连结号(-)的组合,并且不能包含空白符,不能以“xml”开头 定义元素及其子元素 先看一个范例 Lab3.xml DTD所支持的预定义字符:见下表 有顺序的子元素 不要求顺序的子元素 Lab4.xml 要求顺序的子元素 使用逗号“,”来分隔两个子元素,那么元素就应该按顺序出现在XML文件中 范例 Lab5.xml 重复元素 含义 在DTD中声明的一个元素可在同一级中出现多次 范例 Lab6.xml和lab7.xml 成组元素 含义 子元素可以使用括号并为一组。 范例 Lab8.xml OR(或) 含义 符号“|”描述了一个OR操作,即两个元素之间只能在XML文档中出现一个元素 范例 Lab9.xml 可选子元素(?) 含义 字符“?”说明一个子元素是可选的,它可以出现,也可以不出现 范例 Lab10.xml 混合元素 含义 在一个元素中既希望包含子元素,也希望包含字符数据 范例 Lab11.xml 空元素 含义 一个元素中不包含任何子元素,也不包含字符数据 范例 Lab12.xml 定义元素的属性 定义有效的元素属性 属性缺省值 属性类型 CDATA类型 枚举类型 ID和IDREF NMTOKEN和NMTOKENS NOTATION类型 实体属性类型与参数实体 定义有效的元素属性 含义 描述该元素的一些特征参数 在DTD中定义属性时,我们使用下面的格式: !ATTLIST 元素名 (属性名 属性类型 缺省值)* 如:!ATTLIST 商品 类型 CDATA #IMPLIED 属性缺省值 根据XML文件是否必须为一个属性提供取值,
文档评论(0)