本文主要包含XML,DTD等相关知识,zhang_xinxiu 希望在学习及工作中可以帮助到您
一、何为DTD
DTD的全称为Document Type Definition,是一种文件定义格式,它规定了XML文件结构为XML文件提供了语法与规则。在DTD中定义XML文件的结构,然后按照DTD的声明来编写XML文件。它就好像编程语言中的函数定义,在使用函数时要根据函数声明的格式进行来引用。
二、DTD详解
1、实例详解
- <?xml version='1.0' encoding='utf-8'?>
- <!-- 声明内部DTD -->
- <!DOCTYPE 影片目录[
- <!ELEMENT 影片目录 (影片)+> <!-- 声明XML顶层元素的子元素“影片”,“+”表示有一个或多个影片子元素 -->
- <!ELEMENT 影片 (片名,主演,导演,简介)> <!-- 声明“影片”元素的子元素 -->
- <!ATTLIST 影片 类别 CDATA "动作" 年份 CDATA #REQUIRED> <!-- 声明“影片”元素的属性,两属性分别为“类别”和“年份”,CDATA说明属性的类型为字符型 -->
- <!ENTITY 十面埋伏 "漫天大雪,三人在雪中决斗"> <!-- 实体的声明,类型为字符型,在下面使用“&实体名称;”直接引用 -->
- <!ENTITY 霍元甲 "民族英雄,与西方帝国主义抗争">
- <!ELEMENT 片名 (#PCDATA)>
- <!ELEMENT 主演 (#PCDATA)>
- <!ELEMENT 导演 (#PCDATA)>
- <!ELEMENT 简介 (#PCDATA)>
- ]>
- <!-- 由DTD获得的XML -->
- <影片目录>
- <影片 类别="武侠" 年份="2008">
- <片名>十面埋伏</片名>
- <主演>刘德华、金城武、章子怡</主演>
- <导演>张艺谋</导演>
- <简介>&十面埋伏;</简介>
- </影片>
- <影片 类别="武侠" 年份="2006">
- <片名>霍元甲</片名>
- <主演>李连杰</主演>
- <导演>于仁泰</导演>
- <简介>&霍元甲;</简介>
- </影片>
- </影片目录>
1.1 DTD声明开始语句
(1)内部声明:<!DOCTYPE [具体的DTD语句]>
(2)外部声明:<!DOCTYPE 引用的DTD的根元素 关键字(SYSTEM/PUBLIC) "dtd文件名称/dtd文件的网络地址">
对于外部声明有多种形式,主要分为SYSTEM和PUBLIC类型的文件。
SYSTEM:一个作者或组织编写的众多XML文档中通用的DTD;
PUBLIC:由权威机构制定,提供给特定行业或公众使用的DTD。
1.2 其它声明
(1)元素: