DTD的定义与用途
DTD是Document Type Definition的缩写
- 定义XML文件的结构
- 为XML文件提供语法与规则
- 内容既可以定义在XML文件中,也可以定义在XML文件之外
- 使用XML进行数据交换的行业或组织可定义自己的DTD
- DTD对于XML是可选的内容
为了正确交换数据,XML文件需要确定的结构。
外部DTD
- 每个XML文档单独定义的DTD可推广为一个系统内共享的公用DTD
- 关键字SYSTEM用于引用一个作者或组织所编写的众多XML文档中通用的DTD
- 另一种外部DTD,一个由权威机构制定的,提供给特定行业或公众使用的DTD。关键字是PUCBLIC。
XML文件构成
所有的XML文件,均由以模块构成:
- 元素
- 属性
- 实体
- PCDATA
- CDATA
DTD——元素
- 在DTD中,元素声明使用下面的语法:
<!ELEMENT 元素名称 类别>
或者
<!ELEMENT 元素名称(元素内容)>
栗子:
<!ELEMENT 书名(#PCDATA)>
<!ELEMENT 计算机书籍(书名,价格,简要介绍)>
- 空元素通过关键词EMPTY进行声明:
<!ELEMENT 元素名称 EMPTY>
栗子:
DTD中:
<!ELEMENT br EMPTY>
XML中:
<br />
- 表示带有任何内容的元素
<!ELEMENT 元素名称 ANY>
栗子:
DTD中:
<!ELEMENT student ANY>
XML中:
<student>刘伟</student>
或者
<student><name>刘伟</name></student>
(1)子元素要求顺序:
(2)子元素不要求顺序
(3)重复元素的栗子
(4)成组元素
属性
- 在DTD中,属性通过ATTLIST来进行声明
- 语法:
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
栗子:
DTD文件中:
<!ATTLIST payment type CDATA "cash">
XML文件中:
<payment type="cash"/>
- 属性的类型:
- 属性的默认值: