DTD(文档类型定义)
来源:互联网 发布:美工的绩效考核方案 编辑:程序博客网 时间:2024/05/16 17:52
DTD(文档类型定义)指定将在 XML 文档出现的数据元素类型,并定义它们之间的结构关系。XML 文档使用
<!DOCTYPE>
标记来指定内部或外部的 DTD。内部 DTD 在 <!DOCTYPE>
标记之内定义,并嵌入 XML 文档中,使用的语法如下:<!DOCTYPE root-element [element-declarations]>
例如,以下是一个简单的 DTD,它定义了一个名为 EmployeeList 的文档类型,该文档包含一个 EmployeeList 元素,该元素包含一个或多个 Employee 元素。每个 Employee 元素包含 ID、Name、Job 和 Salary 元素;这些元素各自包含纯字符数据。文档还包含两个雇员的数据。
<!DOCTYPE EmployeeList[> <!ELEMENT EmployeeList (Employee)*> <!ELEMENT Employee (ID, Name, Job, Salary)> <!ELEMENT ID (#PCDATA)> <!ELEMENT Name (#PCDATA)> <!ELEMENT Job (#PCDATA)> <!ELEMENT Salary (#PCDATA)>]>
<EmployeeList>
<Employee>
<ID>7654</ID>
<Name>MARTIN</Name>
<Job>SALESMAN</Job>
<Salary>1250</Salary>
</Employee>
<Employee>
<ID>7788</ID>
<Name>SCOTT</Name>
<Job>ANALYST</Job>
<Salary>3000</Salary>
</Employee>
</EmployeeList>
外部 DTD 在单独的文件中定义。下例显示一个
标记,它指定了名为 emp.dtd
的 DTD 文件。其中包含与前面的示例中相同的雇员数据。<!DOCTYPE EmployeeList "emp.dtd">
<EmployeeList>
<Employee>
<ID>7654</ID>
<Name>MARTIN</Name>
<Job>SALESMAN</Job>
<Salary>1250</Salary>
</Employee>
<Employee>
<ID>7788</ID>
<Name>SCOTT</Name>
<Job>ANALYST</Job>
<Salary>3000</Salary>
</Employee>
</EmployeeList>
应用程序可以在使用 DTD 或不使用 DTD 的情况下共享 XML 数据。但是,共享通用的 DTD 使得交换数据更加可靠和易于管理。不使用通用 DTD 时,应用程序可以交换 XML 数据,但需要重建额外的处理过程,并且在某些情况下,当数据从一个应用程序传递到另一个应用程序时,需要对它进行解释。
通常情况下,在共享一个通用 DTD 的应用程序之间交换数据的流程如下:
1. 发送方应用程序基于通用的 DTD 生成一个 XML 文档。
2. 发送方应用程序将 XML 文档发送给接收方应用程序。
3. 接收方应用程序分析 XML 数据,执行其应用程序特定的处理,并将数据写到它的数据库中。
4. 接收方应用程序将原始的 XML 文档(也可能是新生成的文档)发送到链路中的下一个应用程序。
DTD 虽然很有用,但在某些方面受到限制。DTD 中的所有内容本质上都是字符串 — 甚至无法表示简单的类型,如日期、布尔型、整数、浮点数等。因此,当从数据库构建 DTD 时,将会丢失类型信息。使用 DTD 的应用程序必须根据数据的上下文或其相关标记为数据元素分配类型。甚至在最好的环境中,从数据库模式生成 DTD 也可能使异类数据库应用程序之间的数据交换变得很困难。被交换数据的某些信息将不可避免地丢失。
- DTD(文档类型定义)
- 文档类型定义DTD
- DTD文档类型定义
- DTD 文档类型定义
- DTD文档类型定义
- XML文档类型定义(DTD)
- DTD(文档类型定义)的用法
- XML之DTD(文档类型定义)
- XML之 ------ DTD(文档类型定义)
- XML文档类型定义DTD
- XML文档类型定义DTD
- XML文档类型定义DTD
- XML文档类型定义DTD
- XML文档类型定义(DTD)
- XML文档类型定义---DTD文档
- XML文档类型定义---DTD文档
- XML的文档类型定义(DTD)复习笔记
- 有效的XML: DTD(文档类型定义)介绍
- 趣语摘录
- 重新注册组件修复IE
- 优化你的PowerBuilder程序
- 这种要求的网管软件能实现吗?
- Java解析网络数据流的三种特殊方法
- DTD(文档类型定义)
- 定制DataGrid的外观
- ACE笔记(9)-ACE日期时间类
- 时间管理
- 【风】的ACE笔记(10)-ACE文件操作(部分转载)
- 密钥协商的原理
- 正则表达式学习
- 汉与匈奴之战,中华民族兴起的序幕
- 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词