DTD的基础知识

      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>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值