可扩展标记语言XML,文档定义类型DTD
来源:互联网 发布:php入门到精通百度云 编辑:程序博客网 时间:2024/06/06 10:08
1.DTD简介
DTD是Document Type Definition 的缩写,即文档类型定义。D
TD用来描述XML文档的结构。
一个DTD文档可能包含如以下内容:
- 元素的定义规则
- 元素之间的关系规则
- 属性的定义规则
DTD的作用如下:
- DTD使每个XML文件可以携带一个自身格式的描述。
- DTD使不同组织的人可以使用一个通用DTD来交换数据。
- DTD使应用程序可以使用一个标准DTD校验从外部接收的XML数据是否有效。
2.声明DTD
声明DTD的语法如下:
<!DOCTYPE 根元素 [定义内容]>
在语法中DOCTYPE是关键字。例如下面的示例XML文件中使用了DTD声明:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE poem [
<!ELEMENT poem (author, title, content)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
]>
<poem>
<author>王维</author>
<title>鹿柴</title>
<content>空山不见人,但闻人语声。返景入深林,复照青苔上。</content>
</poem>
3.使用外部DTD验证
前面我们把DTD嵌入XML文件中用于验证描述诗集的XML,这称为内部DTD文档。当验证的XML文件较多,或者待验证的XML文件格式较复杂时,这种方式就不太合适了。这是可以把DTD存储在独立的文件中。存储DTD文件一般以.dtd作为文件的扩展名。引用外部DTD文档的语法如下:
<!DOCTYPE 根元素 SYSTEM "DTD文件路径">
在语法中DOCTYPE,SYSTEM是关键字。使用外部DTD验证描述诗集的XML,则代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE poem SYSTEM "文件名.dtd">
<poem>
<author>王维</author>
<title>鹿柴</title>
<content>空山不见人,但闻人语声。返景入深林,复照青苔上。</content>
</poem>
在以上代码中,<!DOCTYPE poems SYSTEM "文件名.dtd">表示引用了外部的DTD文档。
引用的DTD文档的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT poem (author, title, content)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
4.DTD元素
DTD元素的定义语法如下:
<!ELEMENT NAME CONTENT>
在语法中:
- ELEMENT 是关键字。
- NAME 是元素名称。
- CONTENT 是元素类型
常用的元素类型如下:
- #PCDATA ,可以包含任何字符数据,但是不能在其中包含任何子元素,例如以下:
<!ELEMENT title (#PCDATA)>
纯元素类型,只包含子元素,并且这些子元素外
没有文本,例如以下:
<!ELEMENT poems (poem*)>
5.DTD元素中某些符号的用途
6.DTD属性
在DTD中声明属性时,需要使用ATTLIST来进行声明。DTD
声明属性的语法如下:
<ATTLIST 元素名称 属性名称 属性类型 属性默认值>
DTD元素中属性类型的描述
DTD元素中属性值的描述
本文为个人原创,转载请注明出处,谢谢!
0 0
- 可扩展标记语言XML,文档定义类型DTD
- XML(Extenxible Markup Language)可扩展标记语言,DTD(Document Type Definition)文档类型定义
- 【XML开发】(1)通过"文档类型定义(DTD)"来定义XML标记语言
- XML文档类型定义DTD
- XML文档类型定义DTD
- XML文档类型定义DTD
- XML文档类型定义DTD
- XML文档类型定义(DTD)
- XML可扩展标记语言
- XML(可扩展标记语言)
- xml-可扩展标记语言
- XML可扩展标记语言
- XML -可扩展标记语言
- XML 可扩展标记语言
- xml可扩展标记语言
- XML文档类型定义---DTD文档
- XML文档类型定义---DTD文档
- XML--- XML文档类型定义(DTD)
- map集合的排序
- 嵌入式Linux内核I2C子系统详解
- RedHat使用yum源(自备案)
- 你好javaBean
- 将m,n(m>n)的连续自然数序列,打乱顺序重新排列,随机取出一个数,试问取出的这个数是多少?使用一种解法,时间复杂度O(m-n),空间复杂度O(1)
- 可扩展标记语言XML,文档定义类型DTD
- C++11 virtual函数学习笔记
- javaScript 内置对象和浏览器对象
- 最终版任意转换二进制、八进制、十六进制
- Latex中插入罗马数字
- 函数指针数组
- MFC中使用OpenCV显示图像
- 嵌入式Linux内核I2C子系统详解
- 笨笨熊搬家问题 填充思想--怎么输出结果--递归--每日一练(六)