下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

什么是dtd约束技术?

作者:课课家教育     来源: http://www.kokojia.com点击数:2050发布时间: 2016-08-26 13:13:03

标签: dtdxmldtd约束

Web开发

  DTD(Document Type Definition,文档类型定义),主要是用来约束XML文件的一种方式。它是标准通用标记语言和可扩展标记语言1.0版规格的一部分,文档可根据某种DTD语法规则验证格式是否符合此规则。DTD也可用做保证标准通用标记语言、可扩展标记语言文档格式的合法性,可通过比较文档和DTD文件来检查文档是否符合规范,元素和标签使用是否正确。文件实例提供应用程序一个数据交换的格式。使用各类DTD是为了让标准通用标记语言、可扩展标记语言文件能符合规定的数据交换标准,因为这样,不同的公司只需定义好标准DTD,就能依DTD建立文档实例,并且进行验证,如此就可以轻易交换数据,防止了实例数据定义不同等原因造成的数据交换障碍,满足了网络共享和数据交互。DTD文件是一个美国信息交换标准代码文本文件。

  dtd作为一种xml的约束技术,多见于现在的程序框架中。虽然在开发中通常使用的是schema,但为了读懂框架,dtd是我们必备的知识之一。

  一、一个关于产品的dtd

  以下是product.dtd代码:

什么是dtd约束技术?_dtd约束_dtd_课课家

  以上是一个引用了product.dtd的xml。

  以下是dtd代码:

dtd

  通过以上对dtd的了解,掌握了dtd的一些规律之后,可以知道,在dtd中有3种引用方式,分别为:

  1.内部引用示例

  以下是java代码:

内部引用示例

  2.外部引用

  当引用的文件在本地时(外部DTD),采用如下方式:

   例如:。*DTD文件路径本地的。

  3.公共dtd的引用

  当引用的文件是一个公共文件时(公共DTD)采用如下方式:

   例如:

   "-//SunMicrosystems,Inc.//DTDwebapplication2.3//EN"

   "http://java.sun.com/dtd/web-app_2_3.dtd">

  二、dtd中的元素定义

dtd的元素定义

dtd中的元素定义

  细心观察,可以发现dtd中的“+”符号,我们常用+类比其他元素的用法。

  三、DTD的属性

  属性声明的语法格式,如下所示:

dtd属性

  <!ATTLIST商品

   类别CDATA#REQUIRED必须的

   颜色CDATA#IMPLIED可选的

  >

  示例:

  Product2.xml代码如下所示:

product2.xml代码

  DTD支持的属性类型如下表所示:

数据类型

  <!ATTLIST商品

   类别CDATA#REQUIRED必须的

   颜色CDATA#IMPLIED可选的

  >

  四、实体(ENTITY)定义

  实体用于为一段内容创建一个别名,以后在XML文档中就可以使用别名引用这段内容了。

  在DTD定义中,一条<!ENTITY…>语句用于定义一个实体。

  Techer.xml代码:

techer.xml

  五、DTD约束的形式

  dtd约束有以下四种形式:

 

dtd约束的形式

  若要创建一份完整性高、适应性广的DTD十分困难,因为各个行业都有他们自己的行业特点,所以DTD通常是以某种应用领域为定义的范围,如:医学、建筑、工商、行政。DTD定义的元素范围越广,就越复杂。DTD可能是一个完全独立的文件,也可能在XML文件中直接设定。DTD也分为外部DTD和内部DTD。比如,有几十家相互联系的、合作伙伴关系的公司、厂商,他们相互间的交换电子文档都是用XML文档。那么可以将这些XML文档的DTD放在一个地方,让所有交换的XML文档都使用此DTD,这方法最方便,同时也适用于公司内部的XML文件使用。

赞(2)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程