DTD(Document Type Definition)文档类型定义:
DTD被用于定义XML文档的结构,作为规范XML文档的一种内容模型,DTD在各领域已形 成统一规范的文档。在XML文档中使用DTD:
内部DOCTYPE声明:
在XML文档中包好DTD:<!DOCTYPE 根元素 [元素声明]>]>Halen unknown ninteen
外部文档声明:
DTD作为单独文件存在: 引用 共有DTD文档:<!DOCTYPE 根元素 PUBLIC "文件路径及文件名"> 引用 私有DTD文档:<!DOCTYPE 根元素 SYSTEM "文件路径及文件名">Halen unknown ninteen
]>
声明一个元素:
叶子元素声明:<!ELEMENT 元素名 类别> 枝干元素声明:<!ELEMENT 元素名 (子元素1,子元素2...)> 选择性子元素声明:<!ELEMENT 元素名 (子元素1|子元素2|...)>
类别可使用下列值: EMPTY 空元素 #PCDATA 字符类型数据,声明时使用#PCDATA需要用括号将其括起来 ANY 任意内容
控制子元素出现次数: 无符号 子元素只出现1次 + 子元素出现1次或多次 ? 子元素出现0次或1次 * 子元素出现任意次
声明属性:
语法规则: <!ATTLIST 元素名称 属性名称 属性类型 默认值> 示例: <!ATTLIST student name CDATA "unknown"> <student name="unknown">
属性类型选项: CDATA 值为字符数据 (character data) (en1|en2|..) 此值是枚举列表中的一个值 ID 值为唯一的 id IDREF 值为另外一个元素的 id IDREFS 值为其他 id 的列表 NMTOKEN 值为合法的 XML 名称 NMTOKENS 值为合法的 XML 名称的列表 ENTITY 值是一个实体 ENTITIES 值是一个实体列表 NOTATION 此值是符号的名称 xml: 值是一个预定义的 XML 值
默认值参数也可选用下列值: #REQUIRED 属性值是必需的 #IMPLIED 属性不是必需的 #FIXED value 属性值是固定的 默认值 在XML中若没有定义属性值,则采用默认值
DTD实体:
内部通用实体:在DTD中定义的一段具体数据,可在DTD或XML中引用 语法规则: <!ENTITY 实体名称 "实体值"> 示例: <!ENTITY unknown "BeiJing"> <hometown>&unknown;</hometown> 外部通用实体:在文档实体(DTD、XML文档)以外定义的实体对象 语法规则: <!ENTITY 实体名称 SYSTEM "URI/URL"> 示例: <!ENTITY unknown SYSTEM "hometown.txt> <hometown>&unknown;</hometown> &unknown;表示hometown.txt文件的内容
内部参数实体:只能出现在DTD文档中 语法规则: <!ENTITY % 实体名 实体内容> 示例: <!ENTITY % info "(name,age)"> <!ELEMENT student %info;>
外部参数实体:在外部DTD文档中声明的参数实体 语法规则: <!ENTITY % 实体名 SYSTEM "URI/URL">