• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >XML/XSLT > 深入解析XML中的DTD文档类型定义

深入解析XML中的DTD文档类型定义

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含XML,DTD,文档类型定义等相关知识,佚名 希望在学习及工作中可以帮助到您

XML 文档类型定义,俗称 DTD,它是一种准确描述 XML 语言的方式。DTDs 根据适当 XML 语言的语法规则检查 XML 文档的词汇和结构的有效性。

XML DTD 可以指定在文档内部,也可以保存在独立的文档中然后单独链接。

语法
DTD 的基本语法如下所示:

  1. <!DOCTYPE element DTD identifier   
  2. [   
  3.     declaration1   
  4.     declaration2   
  5.     ........   
  6. ]>  

上述语法中:

DTD 以 <!DOCTYPE 定界符开始。
element 用于告诉解析器从指定的根元素开始解析文档。
DTD identifier 是一个用于文档类型定义的标示符,它可以是一个指向系统中某个文件的路径或者连接到互联网上某个文件的 URL。如果 DTD 指向外部路径,则被称为外部子集。 _ [] 内是一个可选的实体声明列表,被称为内部子集。
内部 DTD
如果一个元素声明在 XML 文档的内部则 DTD 被称为内部 DTD。为了把它作为内部 DTD,XML 声明中的 standalone 属性必须设置为 yes。这意味着,声明的工作独立于外部源。

语法

内部 DTD 语法如下所示:

  1. <!DOCTYPE root-element [element-declarations]>  

这里 root-element 是根元素的名称,element-declarations 表示我们声明的元素。

示例

下面是一个内部 DTD 的简单示例:

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  
  2. <!DOCTYPE address [   
  3. <!ELEMENT address (name,company,phone)>  
  4.     <!ELEMENT name (#PCDATA)>  
  5.     <!ELEMENT company (#PCDATA)>  
  6.     <!ELEMENT phone (#PCDATA)>  
  7. ]>  
  8. <address>  
  9.     <name>Tanmay Patil</name>  
  10.     <company>TutorialsPoint</company>  
  11.     <phone>(011) 123-4567</phone>  
  12. </address>  

我们来看一下上面的代码:

开始声明 - 使用如下语句开始 XML 声明:

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  

DTD - 紧跟在 XML 头后面,_文档类型声明_如下,通常被称为 DOCTYPE:

<!DOCTYPE address [
DOCTYPE 声明在元素名称的开头包含一个感叹号(!)。DOCTYPE 会通知解析器有一个 DTD 与这个文档相关联。

DTD Body - DOCTYPE 声明后面紧跟 DTD 体,这里我们声明元素,属性,实体和符号:

  1. <!ELEMENT address (name,company,phone)>  
  2. <!ELEMENT name (#PCDATA)>  
  3. <!ELEMENT company (#PCDATA)>  
  4. <!ELEMENT phone_no (#PCDATA)>  

许多元素都在这里通过 <name> 文档词汇声明。<!ELEMENT name (#PCDATA)> 定义元素_名称_为 "#PCDATA" 类型。这里 #PCDATA 意味着可解析的文本数据。

结束声明 - 最后,DTD 的声明部分使用方括号和尖括号(]>)闭合。这是一个有效的结束定义,后面紧跟的就是 XML 文档内容。

规则

文档类型声明必须出现在文档的开头部分(只先与 XML 头),不允许出现在文档的任意其他位置。
类似于 DOCTYPE 声明,元素声明必须以感叹号开始。
文档类型声明中的 Name 必须与根元素的类型匹配。
外部 DTD
在外部 DTD 中元素声明在 XML 文档的外部。通过指定 system 属性来访问,这个属性值可以是合法的 .dtd 文件或者有效的 URL。为了指示它是外部 DTD,XML 声明的 standalone 属性必须设置为 no。这就意味着,声明包含来自外部源的信息。

语法

下面是外部 DTD 的语法:

<!DOCTYPE root-element SYSTEM "file-name">
这里 file-name 就是 .dtd 扩展的文件。

示例

下面的示例展示了外部 DTD 的用法:

您可能想查找下面的文章:

  • 详解XML中的模式Schema
  • 简介XML文档的阅读与编辑
  • 简单了解XML中的命名空间
  • 解析XML中的树形结构与DOM文档对象模型
  • 详解XML编程中的模式定义XSD
  • 深入解析XML中的DTD文档类型定义
  • 浅谈XML代码编写的编码与验证问题
  • 简单了解XML中的处理指令
  • 解析XML对代码中的空白处理
  • 深入解析XML中的字符实体与字符数据

相关文章

  • 2017-08-06WAP教程(1):WAP 简介-XML/XSLT
  • 2017-08-06(javascript+asp)XML、XSL转换输出HTML
  • 2017-08-06WAP教程(7):WML 计时器-XML/XSLT
  • 2017-08-06Microsoft的XMLHTTP对象介绍
  • 2017-08-06解析XML对代码中的空白处理
  • 2017-08-06XML教程:什么是XML及XML和HTML的区别
  • 2017-08-06C#读写xml文件应用
  • 2017-08-06XML中的DTD文档类型定义完全解析
  • 2017-08-06XML模式相关常用的缩写词
  • 2017-08-06XML基础:什么是XML?

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • XML入门教程:XML名称空间-XML/XSLT
    • xml xmlns xmlns:xsi xsi:schemaLocation含义
    • XML模式:FIXML和SVG
    • WAP教程(3):WML 格式化-XML/XSLT
    • 数据库生成xml的简单方法
    • XML基本概念入门学习指南
    • 详解XML中的代码注释书写方法
    • 深入解析XML中的字符实体与字符数据
    • 详解XML中的模式Schema
    • 编写SVG布置画布和坐标系统以及视窗的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有