zoukankan      html  css  js  c++  java
  • 【HTML/XML 9】XML中的DTD文件

    导读:DTD是Document type definition(文档类型定义的缩写),是一套关于标记符的语法规则,它是XML文件的验证机制,数以XML文件的组成部分。XML文档是一种描述标记语言的语言,它可以由DTD来定义结构,DTD制定了文档的一系列规则,确保文档的一致性和有效性。本篇博客,就将具体介绍:什么是DTD,为什么用DTD,怎样用DTD。


    一、什么是DTD

    DTD是一套关于标记的语法规则,该规则详细地描述了一组XML文档的结构。DTD说明了在文档中可以使用哪些标记,哪些标记可以出现在其他标记中,哪些标记具有属性,使用的标记应该按什么次序出现等。

    XML文档的解析器分为两类:一、解析器不会进行有效性的检查;二、需要进行有效性的检查。对于具备有效性检查的解析器,他将会根据相应的文件或存在于XML文档中的定义代码,对具体文档中使用的实例元素进行检查,以确定这些元素是否符合定义的格式,而DTD正是实现XML文档有效性验证的途径之一。


    二、为什么要用DTD

    2.2,不使用DTD的后果:

    在编写XML文档时,由于应用程序的需求经常会发生改变,所以有时需要对所编写的XML文档结构加以改变,而文档结构改变时,就需要修改代码并添加新的元素,然而当应用程序执行出现了错误时,如果没有显示的文件资料,就无法可靠捕获XML文档中的错误,只能依靠程序顺利执行,当出现结果和预期不符时,就更难检测到错误。在这个时候,就需要依赖清晰、准确的语法规则文档:DTD。

    2.2,使用 DTD的好处:

    1,使用DTD可以确保XML文档的规则和验证文档数据的有效性;2,使用共同的DTD可以为某类XML文档提供统一的格式和相同的结构;3,使用共同的DTD可以保证在一定范围内,XML文档数据的交流和共享

    4,应用程序设计人员根据DTD就能够知道对应的XML文档的逻辑结构,不必依赖具体的数据就能编写出对此类XML文档中的数据进行处理的应用程序。


    三、DTD的使用方式

    DTD共有四种使用方式,分别是:内部定义、外部引用、混合DTD、公用DTD

    3.1,内部定义

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!DOCTYPE 学生 [
    	<!ELEMENT 姓名 (#PCDATA)>
    	<!ELEMENT 学号 (#PCDATA)>
    	<!ELEMENT 性别 (#PCDATA)>
    ]>
    <学生>
    	<姓名>Angel</姓名>
    	<学号>201601152224</学号>
    	<性别>女</性别>
    </学生></span>
    效果:


    注意;standalone属性的默认值为no,表示引入外部的DTD格式。本次效果是yes,代表着使用内部DTD定义。

    3.2,外部定义

    DTD文档:

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
    <!ELEMENT 学生 (姓名,学号,性别)>
    <!ELEMENT 姓名 (#PCDATA)>
    <!ELEMENT 学号 (#PCDATA)>
    <!ELEMENT 性别 (#PCDATA)></span>
    XML文档:

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE 学生 SYSTEM "TestDTD2.dtd">
    <学生>
    	<姓名>Angel</姓名>
    	<学号>201601152224</学号>
    	<性别>女</性别>
    </学生></span>

    3.3,混合DTD(外部和内部结合使用)

    当一个外部的DTD文档并不能包含XML文档中所有的的元素或者实体时,就得使用内部DTD进行声明定义。

    3.4,公用的DTD

    在DOCTYPE声明中,关键字并不是只有SYSTEM,它也并不是引入外部DTD的唯一方法,这个关键字主要用于引用一个作者或组织编写的众多XML文件中通用的DTD。另外一个DTD引入办法是使用关键字PUBLIC,它是由一个权威机构制定的,提供给特定行业或公众使用的DTD。语法如下:

    <!DOCTYPE 根元素名称 PUBLIC "DTD名称" "外部DTD的URL">

    实例:<!DOCTYPE 医药列表 PUBLIC "DTD名称" "http://www.Medicine.com/dtds/Mlist.dtd">


    四、总结

    DTD文档相当于是给XML提供了一种规则,HTML是使用预先确定的标记,而XML却可以使用未被预先确定的标记,但是为了规范和被浏览器理解,必须使用DTD定义标记规则定义。对于后面的几种使用方式,可以结合到CSS的应用进行理解,也可以使用函数的显示定义和隐式定义进行理解。接下来,是总结XML Schema文件以及XML和HTML的交互使用。

  • 相关阅读:
    跟着百度学习之ThinkPHP的认识/初窥
    Apache Rewrite 拟静态
    最新PHPcms9.6.0 任意文件上传漏洞
    最新phpcms v9.6.0 sql注入漏洞分析
    蓝牙攻击-基础篇
    emblog后台拿shell
    绕过云盾找真实IP-找真实IP-绕过CDN
    程序员最重要的品质是什么?
    VC++ 6.0中添加库文件和头文件
    程序的链接与装载
  • 原文地址:https://www.cnblogs.com/hhx626/p/6010370.html
Copyright © 2011-2022 走看看