第2章概述DTD.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章概述DTD

第2章 DTD 2.1 XML类型定义语言DTD 文档类型定义DTD是一套关于标记符的语法规则,它定义了可用在文档中的元素、属性和实体,以及这些内容之间的相互关系。 元素定义 1. 元素声明 DTD中所用的第一种声明是元素声明。其形式如下: ! ELEMENT name content 其中,name是一个标准的XML标记的名字。Content由以下三种之一组成: 关键字EMPTY 关键字ANY 描述包含在本元素中的子元素的顺序和重复次数的内容模型 2. 元素内容类型(Element content model) 元素内容通常有五种情况:EMPTY、ANY、#PCDATA、子元素型和混合型。 ●EMPTY类型 EMPTY用于定义空元素,即该元素只可能有属性而不会有字符数据或子元素 声明空元素的语法是:! ELEMENT emptyelement EMPTY ● ANY类型 这种类型的元素声明是: ! ELEMENT anyelement ANY 这表明该元素可以包含DTD中定义的其它任何元素或已编译的字符数据。 ● #PCDATA类型 不包含其他子元素而只包含字符数据的元素(如form),用关键字#PCDATA进行定义,它代表“已编译的字符数据”(parsed character data)。 PCDATA可以包含除标记以外的一切字符,包括数字、字母和符号等。被定义为包含PCDATA的元素不能包含任何其他的子元素。 ●子元素类型 元素可以包含一系列的子元素,子元素内容模型用于指定某个元素可以包含哪些子元素. 根据子元素间的关系,子元素内容模型可以有两种可能的结构:序列和选择。 ●混合类型 若某元素既包含子元素又包含已编译的字符数据,则该元素具有混合内容。其声明的语法如下: ! ELEMENT pick (#PCDATA | one | two | three)* 3. 元素出现次数指示符(Element occurrence indicator) ?字符 它说明元素可以出现0次或1次。 * 字符 它说明元素可以不出现,或出现1次或多次。 + 字符 它说明元素必须出现至少一次,或者说可以出现一到多次 ()和 | 的使用 属性定义 1.属性声明 属性声明的语法如下: !ATTLIST 元素名 属性名 属性类型 属性默认声明 属性默认声明共有四种可选:#IMPLIED、#REQUIRED、#FIXED和默认值 ★声明属性时应注意以下几点: 属性名称遵循的规则与有效的元素名称相同。 在一个给定的元素中不能有两个属性同名。 若属性值中含有双引号,则该属性值应用单引号括起来。 XML文档多属性声明中属性声明是没有顺序的(用空白字符分开)。 !ATTLIST city location CDATA #REQUIRED size CDATA #REQUIRED 2.属性的10种类型 CDATA属性类型 枚举属性类型 ID属性类型 IDREF/IDREFS类型 NMTOKEN/NMTOKENS属性类型 ENTITY和ENTITYS属性类型 NOTATION类型 CDATA属性类型 CDATA就是字符数据(Character Data),任何字符都可以,没有进一步的限制,但要注意对、使用实体引用,同时由于XML文档中属性值必须使用双或单引号来包括,对能破坏这种结构的字符(即双或单引号中的双或单引号)需要使用实体引用。 声明语法为: !ATTLIST 元素名 属性名 CDATA 属性默认声明 例如: !ATTLIST province location CDATA #REQUIRED 有效的XML文档片段如: province location=southwestSichuan/province NMTOKEN NMTOKEN即Name Token,它非常类似于XML名字,可以包含26个大写和小写英文字母,0-9十个数字,也可包含非英文字母和数字,如?、?、?,以及汉字,同时还可包含三种英文符号:“-”、“_”和“.”,但不能包含空白字符。与XML名字不同的是XML名字只能以字母、字符和英文下划线“_”开头,而NMTOKEN可以用任何上述合法的字符开头。所以,XML名字一定是NMTOKEN,但NMTOKEN不一定是XML名字。 使用至少可以确保在属性值中不出现空白字符。 声明语法为: !ATTLIST 元素名 属性名 NMTOKEN 属性默认声明 例如: !ATTLIST book

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档