预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共84页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章DTD规范XML文档本章知识要点:DTD是DocumentTypeDefinition(文档类型定义)的缩写。 XML文档是一种可扩展标记语言,它可以由DTD来定义文档元素结构(如文档中的元素、属性等)。 DTD指定XML文档必须遵守的一系列规则,从而确保XML文档的一致性和有效性。XML文档为应用程序之间交换数据提供了一种标准,DTD的主要目的就是让XML文档成为数据交换的标准。这是因为不同的公司只需定义好DTD,其他公司就能够根据该DTD建立XML文档,这样公司之间就可以很方便地使用XML文档进行数据交换。由于应用需求会发生变化,从而导致先前所编写的XML文档需要加以改变以适应需求的变化。而当文档结构改变时,就需要修改程序代码。在修改过程中,如何确保XML文档的有效性将直接影响程序运行结果。为了解决这一问题,就需要依靠逻辑清晰、语法准确的文档来对XML文档加以限制。DTD的主要用途就是确保XML文档的有效性。DTD使用形式语法来描述XML文档的逻辑结构和语法。实际上DTD可以看作XML文档的模板。这些XML文档中的元素、属性、排列方式或内容等都必须符合DTD的规则。 XML文档中的元素是根据实际应用来创建的。因此想要创建一份完整且具有较强适应性的DTD是非常困难的,因为各行业都有他们自己的行业特点,所以具体DTD文档通常在特定应用领域中使用,各行各业都有各自的DTD文档。DTD可以在XML文档中直接写入,也可以单独形成文件 内部DTD是在XML文档中直接定义DTD,该DTD只能被当前XML文档使用 外部DTD就是后缀为.dtd的文件,该文件可以被多个XML文档共享和DTD调用 文档类型声明示例:company.xml文档类型声明XML元素是XML文档的基本组成部分。在有效的XML文档中的任何元素都必须在DTD中进行声明。 元素声明指定了每个元素的名称、属性、内容以及在文档中出现的频率并且指定XML文档中元素的层次结构。语法格式如下:EMPTY:用于定义空元素,该元素只可能有属性而不会有元素内容 如:<!ELEMENTcompanyEMPTY> <company/>或<company></company> ANY:声明为ANY的元素可以包含DTD中定义的其他任何元素或已编译的字符数据,包括PCDATA、元素或元素与PCDATA的混合内容,也可以是空元素 如:<!ELEMENTcompanyANY> #PCDATA:声明为#PCDATA的元素不包含其他子元素而只能有文本数据,文本数据中可以是普通字符、CDATA段中的内容、字符引用和实体引用 如:<!ELEMENTcompany(#PCDATA)> 子元素型 元素可以包含一系列的子元素,子元素内容用于指定某个元素可以包含哪些子元素以及它们的出现次序,其语法格式如下: <!ELEMENT元素名称(子元素列表)> 如:<!ELEMENT员工(姓名,性别,出生日期)> 子元素内容模型可以有两种结构:序列和选择 如: <!ELEMENTname(first,middle,last)> <!ELEMENTlocation(address|gps)> <!ELEMENTlocation(address|(latitude,longitude))> 混合型 混合型内容说明元素既可以包含子元素又可以包含已编译的字符数据,即文本数据,其语法格式如下: <!ELEMENT元素名称(#PCDATA|子元素)*> 如:<description>JeffisadeveloperandauthorforBeginningXML<em>4thedition</em>.<br/>Jeff<strong>loves</strong>XML!</description> <!ELEMENTdescript(#PCDATA|em|strong|br)*> 基数(即元素在内容模型中出现的次数)3.2.3元素声明综合示例练习:写出以下XML文档的DTD属性是描述元素的额外信息的,是对元素的修饰与补充。一般地,信息详实的XML文档都具有一个特点,元素通过属性来描述边缘信息。 在DTD中,属性声明使用ATTLIST属性列表来指定元素的属性。元素的属性声明由ATTLIST关键字、元素名称以及属性定义三个部分构成。一个属性声明可以声明一个元素的多个属性。 属性声明的语法格式如下: <!ATTLIST元素名属性名属性类型属性限定条件>常用的属性类型属性类型CDATA的含义不同与第二章介绍的CDATA区段,属性类型CDATA表示可以包含任何字符串,但不允许使用小于号“<”、大于号“>”、与符号“&”、双引号“””和单引号“‘”这几个字符。如果需要使用这几个特殊字符,则必须使用实体引用(如&lt;、&gt;等)来替换