1.文档类型定义DTD(Document Type Definition)是XML结构文件的一种定义方式;
2.DTD定义了可用在文档中的元素,属性,和实体,以及它们之间的相互关系;
3.DTD在建立XML文档中的作用
说说建立一个XML文档的主要步骤:
(1).命名相关的信息项,把其映射为相应的元素或属性.
(2).确定XML文档的层次结构,即各元素之间的嵌套关系
(3).根据层次结构构造DTD;
(4).根据DTD编写相应的XML文档
4.DTD的语法:
<1>.元素定义
(1).元素声明
形式: <!ELEMENT name content >
说明:其中name为XML标记的名字,content 为EMPTY,ANY,描述子元素的顺序和重复次数的内容 模型
(2).元素内容的类型
a). EMPTY 类型 :只有属性没有字符数据或子元素
b). ANY 类型 : 包含DTD定义的所有其他元素或已编译的字符数据
c). #PCDATA 类型:不包含其他子元素而只包含字符数据的元素
d). 子元素类型 :包含一系列的子元素,子元素的内容模型用于指定某个元素可以包含哪些子元素,其结构有两种:序列和选择
e).混合类型 :既包含子元素又包含已编译的字符数据
(3).元素出现次数的指示符
"?" 元素可以出现0次或者1次;
“*” 元素可以不出现,或者出现一次或多次
"+" 元素必须出现至少一次,或者可以说出现一到多次
<2>.属性定义
(1).属性声明
语法: <! ATTLIST Element_name Attribute_name Type Default_value >
说明:ATTLIST 用于定义元素所具有的属性,
Element_name 是元素名;
Attribute_name 是该元素所具有的属性;
Type 是属性的类型
Default_value 是属性的默认值
(2).属性的类型
a). CDATA 类型: 此属性的值只能是文本类型
b). 枚举属性类型: 指定的文本串列表中的某个文本串;
c). ID属性类型: 用于标识文档中的元素;
d). IDREF /IDREFS 类型: 用于引用同一文档中的另一元素的ID属性
e). NMTOKEN/NMTOKENS 属性类型: 必需为一个有效的XML名称;
f). ENTITY 和ENTITYS 属性类型: 用来引用文档中的不可解析的外部实体;
g). NOTATION 类型
用于把属性值和DTD中的<! NOTATION>声明关联起来
(3).属性的默认值
a). REQUIRED : 表示这个元素在使用时必须具有该属性;
b). IMPLIED : 该属性不是必须使用的;
c). FIXED : 在相应的XML文档中可以不用明确的指定该属性的值,如果明确指定属性值,则必须是定义时给出的默认值