主頁 > 知識庫 > JS操作XML中DTD介紹及使用方法分析

JS操作XML中DTD介紹及使用方法分析

熱門標(biāo)簽:咸寧銷售電銷機器人系統(tǒng) 400電話蘭州申請請 外呼系統(tǒng)能給企業(yè)帶來哪些好處 電銷機器人問門薩維品牌my 百度地圖怎樣標(biāo)注圖標(biāo) 廣東廣州在怎么申請400電話 百度地圖標(biāo)注偏差 開發(fā)地圖標(biāo)注類網(wǎng)站 余姚電話機器人

本文實例講述了JS操作XML中DTD介紹及使用方法。分享給大家供大家參考,具體如下:

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

DTD為英文Document Type Definition,中文意思為“文檔類型定義”。DTD肩負(fù)著兩重任務(wù):一方面它幫助你編寫合法的代碼,另一方面它讓瀏覽器正確地顯示器代碼。

一個HTML文檔的基本結(jié)構(gòu)可分為兩個主要部分:

html>
  head>
   頭部信息
  /head>
  body>
   可視內(nèi)容
  /body>
/html>

一個DTD應(yīng)該放在每一個文檔的第一行(包括空白).這樣正確地放置,你的DTD才能告訴瀏覽器的用的是什么標(biāo)記語言。在通常情況下,如果你編寫的是正確代碼,并擁有一個合適的DTD,瀏覽器將會根據(jù)W3C的標(biāo)準(zhǔn)顯示你的代碼。
良好的xml文檔:符合xml的語法規(guī)則。
有效的xml文檔:符合xml語法規(guī)則的同時還需要符合DTD文檔類型定義。
有效(Valid)的XML文檔:
首先,XML文檔是個格式正規(guī)的(Well-formed)XML文檔;
其次,需要滿足DTD的要求,這樣的XML文檔稱為有效的(Valid)XML文檔。
利用DTD可以對xml文檔的各個節(jié)點進行約束定義,使開發(fā)遵循一套“標(biāo)準(zhǔn)”。
DTD可以約束xml文檔出現(xiàn)的元素,元素名稱,元素的先后順序,屬性等。

DTD文檔與XML文檔實例的關(guān)系

類與對象;
數(shù)據(jù)庫表結(jié)構(gòu)與數(shù)據(jù)記錄;

有了DTD,每個XML文件可以攜帶一個自身格式的描述。
有了DTD,不同組織的人可以使用一個通用DTD來交換數(shù)據(jù)。
應(yīng)用程序可以使用一個標(biāo)準(zhǔn)DTD校驗從外部世界接收來的XML數(shù)據(jù)是否有效。
可以使用DTD校驗自己的XML數(shù)據(jù)。

元素的定義

DTD中的修飾符號:

這部分符號可以聯(lián)系正則表達式的符號來記憶。重點內(nèi)容

如何生成DTD文檔

DTD文檔有三種應(yīng)用形式:

1.內(nèi)部DTD文檔

!DOCTYPE 根元素[定義內(nèi)容]>

2.外部DTD文檔

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

3.內(nèi)外部DTD文檔結(jié)合

!DOCTYPE 根元素 SYSTEM "DTD文件路徑" [定義內(nèi)容]>

內(nèi)部DTD

一個內(nèi)部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,
這三個元素必須要出現(xiàn)并且必須按照這個順序
少元素不行,多元素也不行
-->
!--指明author,title,content里面的內(nèi)容是字符串類型-->
poem>
  author>王維/author>
  title>鹿柴/title>
  content>空山不見人,但聞人語聲。返景入深林,復(fù)照青苔上。/content>
/poem>

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

#PCDATA(Parsed Character Data) ,可解析的字符數(shù)據(jù),即字符串。

上面部分是DTD,在下面編寫XML文檔時,如果不符合其DTD規(guī)范,用XMLSpy做檢查的時候,是well-formed的,但是卻不是valid的。

比如根元素寫:

Students>
/Students>

Validate檢查的時候就會報錯,根元素和DTD中的poem不符。

制作DTD約束校驗工具

!DOCTYPE html>
html xmlns="http://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 += "錯誤行數(shù):" + doc.parseError.line + "br />";//出錯代碼的行數(shù)
  rst.innerHTML += "錯誤列數(shù):" + doc.parseError.linepos + "br />";//出錯代碼的列數(shù)
  rst.innerHTML += "錯誤代碼:" + doc.parseError.errorCode + "br />";//出錯代碼的編號
}
/script>
/head>
body>
input type=button value="校驗" onclick="jiaoyan()" />
div id="result">/div>
/body>
/html>

PS:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:

在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson

在線格式化XML/在線壓縮XML
http://tools.jb51.net/code/xmlformat

XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript操作XML文件技巧總結(jié)》、《JavaScript文件與目錄操作技巧匯總》、《JavaScript中ajax操作技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

您可能感興趣的文章:
  • Java解析xml文件和json轉(zhuǎn)換的方法(DOM4j解析)
  • JS XMLHttpRequest原理與使用方法深入詳解
  • js使用xml數(shù)據(jù)載體實現(xiàn)城市省份二級聯(lián)動效果
  • js實現(xiàn)的xml對象轉(zhuǎn)json功能示例
  • 使用JS讀取XML文件的方法
  • js制作xml在線編輯器實例

標(biāo)簽:衡陽 重慶 巴彥淖爾 銅陵 鷹潭 十堰 麗江 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JS操作XML中DTD介紹及使用方法分析》,本文關(guān)鍵詞  操作,XML,中,DTD,介紹,及,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JS操作XML中DTD介紹及使用方法分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于JS操作XML中DTD介紹及使用方法分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章