`
IT_ming_java
  • 浏览: 4383 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

DTD(文档类型定义)

    博客分类:
  • XML
 
阅读更多

        首先说明的是文档类型定义(Document Type Definition)与文档类型声明(Document Type Declaration)是不同的,而且在缩写的时候只有文档类型定义的缩写为DTD;文档类型声明指定了使用DTD,而DTD描述了XML的文档结构。

         文档类型声明出现在文档的序言部分,处在XML声明之后,元素实例之前,并且一个XML文档只能有一个文档类型的声明。文档类型声明是以<!DOCTYPE  开始,以>结束。文档类型声明包括DTD或DTD所在文档的URL。文档类型声明包含或者引用DTD,但DTD不包括文档类型声明。

文档类型声明分为3种形式:1,内部的DTD声明;2,外部的DTD声明;3,内部DTD与外部DTD结合的声明。

 

DTD的用途:XML可以用DTD来验证自身数据的有效性。

 

一个DTD文档主要包含:1,元素(ELEMENT)的定义规则;2,元素间关系的定义规则;3,元素可使用的实体(ENTITY)或注记(NOTATION)规则;4,元素可使用的属性(ATTLIST);5,属性 的定义规则;

元素声明的格式为: <!ELEMENT  元素名 元素内容模式>

元素内容模式:1,EMPTY:用于定义空元素,所声明的元素只可能有属性而不会有字符数据或子元素。

                         <!ELEMENT  元素名 EMPTY>

                     2,ANY:可以包含DTD中定义的其他任何元素或已编译的字符数据,可以使PCDATA、元素或元素和PCDATA的混合内容,也可以是空元素。

                           <!ELEMENT  元素名 ANY>

                     3,#PCDATA:是不包含其他任何子元素而只包含字符数据的元素。

                            <!ELEMENT  元素名 #PCDATA>

                     4,子元素模式:可以包含一系列的子元素,但不能包含字符数据。

                            <!ELEMENT  元素名  (子元素1,子元素2,子元素3,.....) >

                     5,混合模式:可以包含子元素又可以包含已编译的字符数据,即字符数据与子元素的混合。

                          <!ELEMENT  元素名   (#PCDATA|子元素1|子元素2|......) *>

元素在声明中正则表达式的含义:

 

元字符 含义
    * 星号表示可选项目,在使用中它可以出现任意多次
    + 加号表示项目可以出现任意多次,但必须至少出现一次    
     ? 问号表示可选的项目在使用中只能出现一次或不出现
    () 一组要共同匹配的表达式
     | OR关系,表示可以选择用竖线分隔开的若干个项目中的一个 
     ,  AND关系,表示要求严格遵守从声明时的顺序要求

 

 

元素属性的声明语法:

          <!ATTLIST   元素名 属性名1   属性1类型  缺省属性1取值

                                       属性名2   属性2类型  缺省属性2取值        .........  >      

            属性的类型: 

 

属性类型 含义
   CDATA    任意的字符数据,即没有标记的文本      
   NMTOKEN        XML名称标记
   NMTOKENS 由空格分隔的多个XML名称标记
    ID 不被文档中任何其他ID类型属性共享的唯一的名称   
    IDREF 文档中ID类型属性的值
IDREFS 由空格分隔的多个ID类型属性的值
Enumerated 枚举类型,即可选择的可能值列表
NOTATION 在DTD中声明的注记的名称
ENTITY 在DTD中声明外部实体的名称
ENTITIES 在DTD中声明的由空格分隔的多个外部实体的名称

 

元素属性默认值的含义 :

 

属性默认值 含义
 #REQUIRED        元素的每个实例必须包含该属性    
   #IMPLIED 元素实例可以选择是否包含该属性     
  #FIXED+固定值 属性值固定为指定的值,如果元素中不包含该属性,解析器会自动将属性值设置为固定值 
  默认值 如果元素中不包含该属性,解析器会自动将默认值设置为属性值;也可以用其他属性值覆盖默认值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

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

    XML的DTD(文档类型定义)是一种用于定义XML文档合法构造的机制。DTD在XML中扮演着至关重要的角色,它不仅定义了XML文档的结构,还规定了文档中元素和属性的类型和语法。 首先,DTD通过一种特定的语法提供了对XML...

    使用DTD验证XML文档

    a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义规则。 三、 DTD的作用: a) DTD使每个...

    DTD(XML文档类型定义)教程

    XML文档类型定义(DTD)是XML文档结构的重要组成部分,它为XML文档设定了规范和约束,确保了数据的准确性和一致性。本教程旨在深入讲解DTD的概念、编写方式、使用方法,以及它与XML Schema的区别和联系。 XML的核心...

    XML(文档类型定义dtd)

    这里,"文档类型名"是XML文档所使用的DTD的名字,"DTD具体内容"可以是内部DTD的定义,也可以是外部DTD的引用。 **内部DTD和外部DTD** - **内部DTD**:定义在XML文档内部,将DTD的规则直接包含在XML文档中。适用于...

    实验二-基于DTD实现XML文档的有效性验证.doc

    1. DTD(Document Type Definition)的定义:DTD是用于定义XML文档结构和约束的文档类型定义语言。它可以用来定义XML元素、属性、实体等的结构和约束。 2. DTD的引用:DTD可以被引用到XML文档中,以便对XML文档进行...

    很实用DTD文档

    文档类型定义(DTD,Document Type Definition)是一种用于规范XML文档结构的语言,确保XML文档符合预定义的规则。DTD通过定义元素、属性、实体等来创建一套文档约束,从而帮助解析器验证XML文档的有效性。 在XML文...

    DTD的CHM帮助文档

    **DTD(Document Type Definition)** 是XML(Extensible Markup Language)文档类型定义的缩写,它是XML规范的一部分,用于定义XML文档的结构和元素。在XML文档中,DTD的作用是确保文档内容遵循预设的规则,即所有...

    DTD(文档类型定义)语法[归类].pdf

    DTD,全称为Document Type Definition,是XML文档类型定义的一种方法,用于规定XML文档的结构和合法内容。通过DTD,我们可以确保XML文档遵循特定的规则,从而使得数据更加规范和可读。在XML文档中,DTD有两种声明...

    xml文档类型定义资料

    XML文档类型定义(DTD,Document Type Definition)是XML语言中用于规范和验证XML文档结构的一种方式。DTD通过定义文档元素、属性、实体等规则,确保XML文档的数据正确性和有效性,从而保证了信息交换的准确无误。 ...

    自定义MyEclipse的DTD文档校验

    然而,在离线状态下,当遇到框架升级或引入新版本DTD(Document Type Definition,文档类型定义)时,MyEclipse的默认行为可能无法满足需求,导致文档校验失效。本文旨在深入探讨这一问题,并提供一种有效的解决方案...

    Ibatis的DTD文档

    `sql-map-2.dtd`是Ibatis 2.x版本的SQL Map配置文件的DTD文档,它定义了XML文件中各个元素的结构和规则。通过遵循这个DTD,开发者可以正确编写出符合Ibatis规范的XML映射文件,从而实现数据访问层的功能。 以下是...

    XML高级编程_第3章文档类型定义

    《XML高级编程_第3章文档类型定义》深入探讨了XML文档类型定义(Document Type Definition,简称DTD)的概念及其在XML编程中的重要性。DTD是一种用于定义XML文档结构的规范,它不仅确保了文档的格式正确,还为文档...

    XXE 原理漏洞详解.md

    DTD文档类型定义是用来定义XML文档结构的一套规则。它主要用于约束XML文档中的标签、属性和内容等元素,确保XML文档符合一定的格式要求。DTD可以分为内部DTD和外部DTD两种类型: - **3.1 内部DTD文档** 内部DTD是...

    将DTD与XML文档相关联之外部DTD

    在XML(可扩展标记语言)文档中,DTD(文档类型定义)是一种重要的元数据,用于定义文档结构和元素规则。DTD允许我们规范XML文件的结构,确保数据的准确性和一致性。本文将深入探讨如何通过外部DTD将DTD文件与XML...

    基于XXE漏洞的网络安全分析与利用工具开发

    XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。当应用是通过用户上传的XML文件或POST请求进行数唱的传输,并日应用没有禁止XNML引用外部实体,也没有过滤用户提交的XML数据,那么就会产生XML外部实体...

    testng 的xml文档类型定义文件

    testng使用的testng.xml文档的文档类型定义文件,可用于核对xml文件的文档结构及合法元素

    DTD的定义、规则和编写

    **文档类型定义**(Document Type Definition, DTD)是一套关于标记语言的语法规则,主要用于定义XML文档的结构和内容。DTD作为XML 1.0规范的一部分,是XML文件验证的重要组成部分,通过它来确保XML文档的格式正确无误...

Global site tag (gtag.js) - Google Analytics