xml学习3

DTD(Document Type Definition)文档类型定义  和 文档类型声明是不一样的 。文档类型声明是在xml文件中引入DTD 。  

当我们在使用外部DTD的时候  <?xml version="1.0" encoding="gb2312" standalone="no"?>   standalone一定要设置为no 

文档类型声明可以包含或者引用一个 文档类型定义  ,也就是 我们所说的内部DTD和外部DTD

 格式良好的 xml文件需要遵循xml语法规范 。而有效的xml文件就需要遵循 DTD 文档类型定义 。 

这个DTD文件规定了  xml中各个节点之间的关系 。 

我们可以使用<!DOCTYPE greeting[<!ELEMENT  greeting(#PCDATA)>]> 引入内部DTD,这样做不需要验证,但是也有缺点  ,就是多个xml需要引用同一个DTD的时候就需要书写多份DTD。为了解决这个问题 我们可以吧DTD放在后缀 .dtd的文件中 通过外部引用来实现。

 两种引入外部DTD的方法

1、

<!DOCTYPE  根元素名字    SYSTEM      DTD的URL>     //可以是Internet 也可以是  一个本地文件相对路径  表示是私有的DTD

例如:

<!DOCTYPE  greeting   SYSTEM http://www.my.com/xml.dtd>

我们可以直接使用相对URI

2、

<!DOCTYPE  根元素的名称  PUBLIC     DTD名称   DTD的URL>     //引入外部的DTD  必须是Internet上的一个绝对URL DTD 名称只能出现在 PUBLIC 引用中  

PUBLIC 用来声明公共DTD      DTD名称也称为公共标识符 ,这个DTD 存放在摸个地方 XML解析器 按照某种规则   根据DTD名称检索DTD如果找不到 那么就会按照

DTD的外部URL(也就是系统标示符)来 检索。  如果一个DTD是 ISO标准 那么 DTD名字以  ISO开始  如果是一个非ISO批准的那么以-开始 

标准DTD那么以 +开始

例如下面:

"-//xiaowei//xml//EN"      第一个- 表示非标准DTD  ,//后表示DTD所有者     第二个//后是描述信息     第三个 //后是语种 

<!DOCTYPE root  PUBLIC  "-//xiaowei//xm//EN" http://www.xiaowei.com//xml.dtd >   这就是一个公共DTD的引用 。

 

 xml文件的组成单元 :
1、xml的声明语句

2、DOCTYPE语句dtd声明

3、注释

4、CDATA区 

5、自定义元素

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UsherYue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值