一.什么是DTD
XML文档是一种元标记语言,即一种定义标记语言的语言。在XML中可以创建新的标记语言,这些新的标记语言(也叫标记集)要通过文档类型定义(Document Type Definitions,DTD)来定义。DTD文档是这些新的标记语言的法律性文档。如果XML文档的语法符合DTD的定义和规定,那么就称为一个合法的XML文档,否则就是非法的XML文档。
二.DTD的元素
1.Empty元素
Empty元素不包含任何内容,没有结束标签
2.文本元素
文本元素只包含文本,没有子元素
3.混合元素
混合元素可以包含文本和其他子元素
4.任意元素
任意元素可以包含任何元素和文本
三.DTD属性的定义
1.属性必须赋值,而且没有默认值。顶一个是如下。 <!ATTLIST 节点元素名称 属性名称 属性类型 # REQUIRED> 其中REQUIRED指明了该节点的属性必须赋值。
2.属于可以赋值也可以不复制,但是没有缺省值。使用格式如下。 <!ATTLIST 节点名称 属性名称 (A|B|C) # IMPLIED>
3.属于有固定的默认值,如果对该节点赋值只能与缺省值相同,实用语法如下。 <!ATTLIST 节点元素名称 属性名称 属性类型 # GIXED 缺省值>
四.DTD的实体定义
1.实体声明语法
通常,实体可以在内部或外部声明。 让我们了解以下各项及其语法如下: 内部实体:如果在DTD中声明实体,则称为内部实体。以下是内部实体声明的语法 -<!ENTITYentity_name"entity_value">
2.外部实体
如果在DTD之外声明实体,则称为外部实体。 可以使用系统标识符或公共标识符来引用外部实体。以下是外部实体声明的语法 -<!ENTITY name SYSTEM "URI/URL">
3.内置实体
所有XML解析器都必须支持内置实体。通常,可以在任何地方使用这些实体引用。还可以在XML文档中使用普通文本,例如 - 元素内容和属性值。
有五个内置实体在格式良好的XML中发挥作用,它们分别是 -
&符号:&
单引号:'
大于号:>
小于号:<
双引号:"
4.字符实体
字符实体用于命名一些作为信息的符号表示的实体,即难以或不可能键入的字符可以由字符实体代替。
5.常规实体
需要先在DTD中声明常规实体,然后才能在XML文档中使用它们。 常规实体可以表示字符,段落甚至整个文档,而不是仅表示单个字符。要声明常规实体,请在DTD中使用此一般形式的声明 -<!ENTITYename"text">
6.参数实体
参数实体的目的是能够创建替换文本的可重用部分。以下是参数实体声明的语法 -<!ENTITY%ename"entity_value">
五.略