XML(二)DTD

DTD/Schema用于约束/规定XML元素的结构。类似于XML元素的模式定义,而XML文档就是对应模式的实例。

此篇文章记录DTD(文档类型定义)学习的内容。

  1. 声明方式:DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。——W3school

    1. 声明在XML文档内部:

      <!DOCTYPE 根元素
      [
          约束列表
      ]>

       

    2. 声明在外部:在XML文档内添加如下语句,其中DTD文件名后缀.dtd,SYSTEM表明是本地文件

      <!DOCTYPE 根元素 SYSTEM "文件目录">
    3. 声明在网络:PUBLIC表明是网络文件,DTD名称通常包含作者或所属信息
      <!DOCTYPE 根元素 PUBLIC "DTD名称" "文件URI">

       

  2. 语法:一行一个约束,根元素的约束写在第一行
    1. 元素约束,形如
       <!ELEMENT person (name+,age,phone*,(salary|job),patner?,#PCDATA)>
       
      1. +表示子元素至少出现一次,*表示子元素可以出现任意次,?表示至多出现一次,(a|b)表示两者选一个出现,以上运算符可以联合使用,括号决定优先级。
      2. #PCDATA代表任何可解析的字符串,如果一个元素的子元素列表是#PCDATA等于未对此元素进行约束(不知道是否可以使用#CDATA,请大佬指教:)
      3. 各个子元素按顺序出现
    2. 属性约束,形如
      <!ATTLIST 元素名称 属性名称 属性类型 默认值>

      属性类型和默认值的取值在W3school有列出 http://www.w3school.com.cn/dtd/dtd_attributes.asp
    3. 实体声明:类似C的宏,或者字符串常量,对XML中的实体进行字面替换
      1. 内部声明:直接在dtd文档内声明
        <!ENTITY 实体名称 "实体的值">

         

      2. 外部声明:在本地文件或者网络上

        <!ENTITY 实体名称 SYSTEM "URI/URL">

         

    4. 实体引用:在XML文档中使用dtd文档中的实体,作用是字面替换,例如

      1. DTD中

        <!ENTITY writer "Bill Gates">

        writer是"Bill Gates"的实体别名

      2. XML中:被引用的实体名前加&

        <author>&writer</author>

        以上两例来自W3school

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值