博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有效的XML: DTD(文档类型定义)介绍(转)
阅读量:7138 次
发布时间:2019-06-28

本文共 1447 字,大约阅读时间需要 4 分钟。

文档类型定义和命名空间

  有效(Valid)的XML文档

  首先,XML文档是个格式正规的(Well-formed)XML文档;(见)。

  其次,需要满足DTD的要求,这样的XML文档称为有效的(Valid)XML文档

 

 

DTD

  DTD,即文档类型定义——Document Type Definition。

  DTD用来描述XML文档的结构,

  一个DTD文档包含:

  元素(ELEMENT)的定义规则;

  元素之间的关系规则;

  属性(ATTLIST)的定义规则;

  可使用的实体(ENTITY)或符号(NOTATION)规则。

 

 

DTD文档与XML文档实例的关系

  类与对象;

  数据库表结构与数据记录;

 

  有了DTD,每个XML文件可以携带一个自身格式的描述。

  有了DTD,不同组织的人可以使用一个通用DTD来交换数据。

  应用程序可以使用一个标准DTD校验从外部世界接收来的XML数据是否有效。

  可以使用DTD校验自己的XML数据。

 

 

如何生成DTD文档

  DTD文档有三种应用形式:

  1.内部DTD文档

 

 

  2.外部DTD文档

 

 

  3.内外部DTD文档结合

 

 

 

 

内部DTD 

   一个内部DTD的例子:

  上半部分是DTD,下面是XML文档,文档要符合DTD。

]>
王维
鹿柴
空山不见人,但闻人语声。返景入深林,复照青苔上。

   

  上面的文档就是格式良好,并且有效的。

  详见其中的注释。

  #PCDATA(Parsed Character Data) ,可解析的字符数据,即字符串。

 

  上面部分是DTD,在下面编写XML文档时,如果不符合其DTD规范,用XMLSpy做检查的时候,是well-formed的,但是却不是valid的。

  比如根元素写:

 

  Validate检查的时候就会报错,根元素和DTD中的poem不符。

 

 

外部DTD

  上面是一个内部DTD的例子,下面用一个外部的DTD:

  首先,新建一个DTD文档,文件名叫dtd_1.dtd,内容如下:

 

  然后,新建一个XML文档。

  如果只写XML元素内容,那么它是一个格式良好的,却不是有效的文档,因为找不到DTD。

  需要加入外部DTD文件的名称(同一个路径下只给出文件名即可)。

王维
鹿柴
空山不见人,但闻人语声。返景入深林,复照青苔上。

 

 

内外部DTD结合

      DTD的内容也可以有些放在外部,有些放在内部,如下:

  文件dtd_2.dtd

  XML文档:

]>
王维
鹿柴
空山不见人,但闻人语声。返景入深林,复照青苔上。

 

http://www.cnblogs.com/mengdd/archive/2013/05/28/3102893.html

 

你可能感兴趣的文章
设计模式之简单工厂模式
查看>>
使用ArcEngine开发自定义Tool并发布为GP服务
查看>>
Intel超低功耗CPU的一些信息
查看>>
Qt之信号与槽
查看>>
PDM/PLM系统授权模型的研究和应用(转载)
查看>>
Winform下的Datagrid的列风格(4)—DataGridComboBoxTableViewColumn
查看>>
上传图片 以及做成缩略图
查看>>
封装和多态
查看>>
POJ - 3041 Asteroids 【二分图匹配】
查看>>
luogu P4198 楼房重建——线段树
查看>>
使用property为类中的数据添加行为
查看>>
程序设计基础知识
查看>>
复变函数与积分变换
查看>>
12. 断点续传的原理
查看>>
C#基础:多态:基类可以定义并实现虚(virtual)方法,派生类可以重写(override)这些方法...
查看>>
CSS 制作三角形原理剖析
查看>>
first blog
查看>>
Visifire图表
查看>>
python常用模块之paramiko与ssh
查看>>
Alpha发布——视频博客
查看>>