>>分享Web前端开发技术,并对孙卫琴的《精通Vue.js:Web前端开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 26163 个阅读者 刷新本主题
 * 贴子主题:  DTD 简介 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2019-08-16 17:06:15     消息  查看  搜索  好友  邮件  复制  引用

  

DTD

简介

     文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

    DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。            

内部的 DOCTYPE 声明

     假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:

                      <!DOCTYPE root-element [element-declarations]>

     带有 DTD 的 XML 文档范例(请在 IE5 以及更高的版本打开,并选择查看源代码):

<?xml version="1.0"?>

    <!DOCTYPE note [

      <!ELEMENT note (to,from,heading,body)>

      <!ELEMENT to      (#PCDATA)>

      <!ELEMENT from    (#PCDATA)>

      <!ELEMENT heading (#PCDATA)>

      <!ELEMENT body    (#PCDATA)>

    ]>

    <note>

      <to>Tove</to>

      <from>Jani</from>

      <heading>Reminder</heading>

      <body>Don't forget me this weekend</body>

    </note>

               以上 DTD 解释如下:    
  • !DOCTYPE note (第二行)定义此文档是 note 类型的文档。
  • !ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body"
  • !ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型
  • !ELEMENT from (第五行)定义 from 元素为 "#PCDATA" 类型
  • !ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型
  • !ELEMENT body (第七行)定义 body 元素为 "#PCDATA" 类型

外部文档声明

        假如 DTD 位于 XML 源文件的外部,那么它应通过下面的语法被封装在一个 DOCTYPE 定义中:

                      <!DOCTYPE root-element SYSTEM "filename">

       这个 XML 文档和上面的 XML 文档相同,但是拥有一个外部的 DTD:


<?xml version="1.0"?>

    <!DOCTYPE note SYSTEM "note.dtd">

    <note>
      <to>Tove</to>
      <from>Jani</from>
      <heading>Reminder</heading>
      <body>Don't forget me this weekend!</body>
   </note>

                     这是包含 DTD 的 "note.dtd" 文件:

     <!ELEMENT note (to,from,heading,body)>

    <!ELEMENT to (#PCDATA)>

    <!ELEMENT from (#PCDATA)>

    <!ELEMENT heading (#PCDATA)>

    <!ELEMENT body (#PCDATA)>                            

为什么使用 DTD?

         通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。

         通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。

         而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。

         您还可以使用 DTD 来验证您自身的数据。

    



程序猿的技术大观园:www.javathinker.net





[这个贴子最后由 flybird 在 2020-02-17 13:34:25 重新编辑]
  Java面向对象编程-->内部类
  JavaWeb开发-->JavaWeb应用入门(Ⅱ)
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->RMI框架
  精通Spring-->计算属性和数据监听
  Vue3开发-->创建综合购物网站应用
  前端Vue单页面应用性能优化
  最新的Vue面试题大全含源码级回答,吊打面试官系列
  qs.parse()、qs.stringify()、JSON.stringify() 用法及区别
  Vue项目PWA化
  JavaScript输出格式化日期和时间
  CSS3的@keyframes用法详解
  Vue watcher的高级用法
  vue中axios异步调用接口的坑
  史上最全的web前端面试题汇总及答案
  H5定位终极解决方案
  jQuery UI 如何使用部件库
  CSS 盒子模型
  HTML 表格标签的用法
  JavaScript 严格模式(use strict)
  JavaScript 语法大全
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。