DTD的基础知识

    技术2022-05-19  21

          DTD是xml的校验文件,现在xml的应用地方很多,什么框架的配置文件,数据交换文件,webservice。所以要想弄懂这些,研究一下DTD是必要的。在此我总结了一下,希望能对大家有所帮助。

          DTD全称Document Type Definition。一个DTD文档包括元素定义规则、元素之间的关系、属性的定义规则和可使用的实体或符号规则。

          DTD声明<!DOCTYPE root[                     <!-- 子元素 --> ]>                    <!-- 文件体 -->

          DOCTYPE即document type(文档定义)。DOCTYPE必须放在文档顶部,在所有代码和表示之上,DOCTYPE是必不可少的关键组成部分。

     

          元素定义:<!ELEMENT 元素名 元素类型>

          DTD元素类型包括:ANY(元素中可以包含任何DTD中定义的内容);

                                     EMPTY(元素能包含任何内容,但可以包含属性);

                                    #PCDATA(元素可以包含任何字符数据,但是不可以包含任何子元素);

         元素类型中可以使用的字符即含义:

         “()”用来给元素分组;

         “|”在列出的元素中选择一个;

         “+”改元素最少出现一次,可以出现多次(1,n);

         “*”改元素可以出现0次或多次(0,n);

         “?”改元素可以出现,但只能出现一次(0,1);

         “,”用于定义元素出现的顺序;

         

          属性定义:  <!ATTLIST 元素名 属性名 类型 属性特征>

          元素的类型包括以下几种:

          NMTOKENS属性类型       CDATA属性类型       NMTOKEN属性类型       IDREF属性类型       IDREFS属性类型       Enumerated(枚举型)属性类型       NOTATION属性类型       ENTITY属性类型       ENTITIES属性类型       Enumerated不是关键字       ID属性类型       CDATA属性类型       CDATA类型表示属性值可以是任意的字符、数字、符号等。

           元素的属性特征包括:

            “#REQUIRED”元素中该属性必须存在

            “#IMPLIED”   元素中该属性可以忽略

            “#FIXED value”元素中改属性存在且值为value指定的值

            “default value” 改属性的默认值为value

         到此DTD的基础知识就结束,希望对大家学习DTD有帮助。给一个例子供大家分析DTD

        

     

     

     

    <!ELEMENT NEWSPAPER (ARTICLE+)><!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)><!ELEMENT HEADLINE (#PCDATA)> <!ELEMENT BYLINE (#PCDATA)><!ELEMENT LEAD (#PCDATA)><!ELEMENT BODY (#PCDATA)> <!ELEMENT NOTES (#PCDATA)> 

    <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED><!ATTLIST ARTICLE EDITOR CDATA #IMPLIED> <!ATTLIST ARTICLE DATE CDATA #IMPLIED> <!ATTLIST ARTICLE EDITION CDATA #IMPLIED>


    最新回复(0)