• 白云区新办证大厅户籍办理服务平台正式投入使用啦 2019-07-13
  • 关于人类所有的知识问题,其实都是社会问题。就“社会”两个字。 2019-07-13
  • 百姓故事:蒋姐姐的旗袍人生 2019-07-10
  • 这艘军舰有美国导弹护体 仍被中国反舰导弹轻松击沉 2019-07-09
  • 把你当猪就有可能。不想得病而羸弱就得身强体壮。首先,想依靠消灭病毒而不得病,那只是痴心妄想。其次,想得天下,从来没有靠肉体的征服而成功过的先例。 2019-07-09
  • 《国家哲学社会科学“十一五”研究状况与“十二五”发展趋势》一书出版 2019-07-06
  • 夏天吃雪糕怕伤胃拉肚子 如何健康吃冷饮——食品安全频道——黄河新闻网 2019-07-06
  • 2018年成都卫星城市仍将大放异彩?下一站:资阳北 ——凤凰网房产成都 2019-07-05
  • 皇家地暖长啥样?《故宫新事》带你探寻养心殿的秘密 2019-07-05
  • 南昌古风物略记文章中国国家地理网 2019-07-01
  • 推进新时代中国特色社会主义云南新实践——访云南省委书记陈豪 2019-06-28
  • 十二届全国人大常委会第七次会议 2019-06-28
  • 原中行一支行员工被判刑 利用职务便利骗取巨额贷款并诈骗 2019-06-24
  • 孕期压力大影响胎儿大脑发育 2019-06-14
  • 俄罗斯足球队50横扫沙特队真是让人大饱眼福,特提精神!俄罗斯是战斗民族名不虚传。 2019-06-10
  • 湖北11选5:JS操作XML中DTD介绍及使用方法分析

    文章TAG:DTD xml JS
    时间:2019-07-04来源/作者:Yeoman92 编辑:源码库 文章热度:

    双色球基本走势图表图 www.jpkp.net 本文实例讲述了JS操作XML中DTD介绍及使用方法。分享给大家供大家参考,具体如下:

    什么是DTD,为什么需要DTD?

    DTD为英文Document Type Definition,中文意思为“文档类型定义”。DTD肩负着两重任务:一方面它帮助你编写合法的代码,另一方面它让浏览器正确地显示器代码。

    一个HTML文档的基本结构可分为两个主要部分:

    <html>
      <head>
       头部信息
      </head>
      <body>
       可视内容
      </body>
    </html>
    
    

    一个DTD应该放在每一个文档的第一行(包括空白).这样正确地放置,你的DTD才能告诉浏览器的用的是什么标记语言。在通常情况下,如果你编写的是正确代码,并拥有一个合适的DTD,浏览器将会根据W3C的标准显示你的代码。
    良好的xml文档:符合xml的语法规则。
    有效的xml文档:符合xml语法规则的同时还需要符合DTD文档类型定义。
    有效(Valid)的XML文档:
    首先,XML文档是个格式正规的(Well-formed)XML文档;
    其次,需要满足DTD的要求,这样的XML文档称为有效的(Valid)XML文档。
    利用DTD可以对xml文档的各个节点进行约束定义,使开发遵循一套“标准”。
    DTD可以约束xml文档出现的元素,元素名称,元素的先后顺序,属性等。

    DTD文档与XML文档实例的关系

    类与对象;
    数据库表结构与数据记录;

    有了DTD,每个XML文件可以携带一个自身格式的描述。
    有了DTD,不同组织的人可以使用一个通用DTD来交换数据。
    应用程序可以使用一个标准DTD校验从外部世界接收来的XML数据是否有效。
    可以使用DTD校验自己的XML数据。

    元素的定义

    JS,XML,DTD

    DTD中的修饰符号:

    JS,XML,DTD

    这部分符号可以联系正则表达式的符号来记忆。重点内容

    如何生成DTD文档

    DTD文档有三种应用形式:

    1.内部DTD文档

    <!DOCTYPE 根元素[定义内容]>
    
    

    2.外部DTD文档

    <!DOCTYPE 根元素 SYSTEM "DTD文件路径">
    
    

    3.内外部DTD文档结合

    <!DOCTYPE 根元素 SYSTEM "DTD文件路径" [定义内容]>
    
    

    JS,XML,DTD

    内部DTD

    一个内部DTD的例子:
    上半部分是DTD,下面是XML文档,文档要符合DTD。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE poem [
      <!ELEMENT poem (author, title, content)>
      <!ELEMENT author (#PCDATA)>
      <!ELEMENT title (#PCDATA)>
      <!ELEMENT content (#PCDATA)>
    ]>
    <!--为元素poem定义了三个子元素author title content,
    这三个元素必须要出现并且必须按照这个顺序
    少元素不行,多元素也不行
    -->
    <!--指明author,title,content里面的内容是字符串类型-->
    <poem>
      <author>王维</author>
      <title>鹿柴</title>
      <content>空山不见人,但闻人语声。返景入深林,复照青苔上。</content>
    </poem>
    
    

    上面的文档就是格式良好,并且有效的。

    #PCDATA(Parsed Character Data) ,可解析的字符数据,即字符串。

    上面部分是DTD,在下面编写XML文档时,如果不符合其DTD规范,用XMLSpy做检查的时候,是well-formed的,但是却不是valid的。

    比如根元素写:

    <Students>
    </Students>
    
    

    Validate检查的时候就会报错,根元素和DTD中的poem不符。

    制作DTD约束校验工具

    <!DOCTYPE html>
    <html xmlns="//www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    <script>
    var doc = new ActiveXObject("Mircosoft.XMLDOM");
    doc.validateOnParse = true;
    doc.async = false;//同步校验
    function jiaoyan(){
      doc.load("./01.xml");//加载被校验的文档
      var rst = document.getElementById("result");
      rst.innerHTML += "错误信息:" + doc.parseError.reason + "<br />";//校验的错误信息
      rst.innerHTML += "错误行数:" + doc.parseError.line + "<br />";//出错代码的行数
      rst.innerHTML += "错误列数:" + doc.parseError.linepos + "<br />";//出错代码的列数
      rst.innerHTML += "错误代码:" + doc.parseError.errorCode + "<br />";//出错代码的编号
    }
    </script>
    </head>
    <body>
    <input type=button value="校验" onclick="jiaoyan()" />
    <div id="result"></div>
    </body>
    </html>
    
    

     

    希望本文所述对大家JavaScript程序设计有所帮助。


    注:相关教程知识阅读请移步到PHP教程频道。
    相关PHP教程
    热门标签

    PHP教程Rss订阅PHP教程搜索

  • 白云区新办证大厅户籍办理服务平台正式投入使用啦 2019-07-13
  • 关于人类所有的知识问题,其实都是社会问题。就“社会”两个字。 2019-07-13
  • 百姓故事:蒋姐姐的旗袍人生 2019-07-10
  • 这艘军舰有美国导弹护体 仍被中国反舰导弹轻松击沉 2019-07-09
  • 把你当猪就有可能。不想得病而羸弱就得身强体壮。首先,想依靠消灭病毒而不得病,那只是痴心妄想。其次,想得天下,从来没有靠肉体的征服而成功过的先例。 2019-07-09
  • 《国家哲学社会科学“十一五”研究状况与“十二五”发展趋势》一书出版 2019-07-06
  • 夏天吃雪糕怕伤胃拉肚子 如何健康吃冷饮——食品安全频道——黄河新闻网 2019-07-06
  • 2018年成都卫星城市仍将大放异彩?下一站:资阳北 ——凤凰网房产成都 2019-07-05
  • 皇家地暖长啥样?《故宫新事》带你探寻养心殿的秘密 2019-07-05
  • 南昌古风物略记文章中国国家地理网 2019-07-01
  • 推进新时代中国特色社会主义云南新实践——访云南省委书记陈豪 2019-06-28
  • 十二届全国人大常委会第七次会议 2019-06-28
  • 原中行一支行员工被判刑 利用职务便利骗取巨额贷款并诈骗 2019-06-24
  • 孕期压力大影响胎儿大脑发育 2019-06-14
  • 俄罗斯足球队50横扫沙特队真是让人大饱眼福,特提精神!俄罗斯是战斗民族名不虚传。 2019-06-10
  • 一肖中特诗句 江苏11选5开奖号 彩经网双色球走势图 多乐彩是什么 辽宁11选5全天开奖83期 欢乐生肖走势图 十三水摆牌技巧口诀 湖北福利彩票30选5 【中华雄鹰】一尾中特 大乐透基本走势图百度彩票走势图 福彩3d开奖直播在哪看 今日甘肃快3开奖号码 云南11选5开奖 啊福福彩3d太湖字谜 快乐双彩什么玩