真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

什么是XML與DTD-創(chuàng)新互聯(lián)

什么是XML與DTD ?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

盧氏ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

    文檔類型定義(DTD)可定義合法的XML文檔構(gòu)建模塊。它使用一系列合法的元素來定義文檔的結(jié)構(gòu)。

DTD 可被成行地聲明于 XML 文檔中,也可作為一個(gè)外部引用。

什么是XML與DTD

內(nèi)部的 DOCTYPE 聲明

假如 DTD 被包含在您的 XML 源文件中,它應(yīng)當(dāng)通過下面的語法包裝在一個(gè) DOCTYPE 聲明中:

帶有 DTD 的 XML 文檔實(shí)例



  
  
  
  
]>

  George
  John
  Reminder
  Don't forget the meeting!

以上 DTD 解釋如下:

!DOCTYPE note (第二行)定義此文檔是 note 類型的文檔。

!ELEMENT note (第三行)定義 note 元素有四個(gè)元素:"to、from、heading,、body"

!ELEMENT to (第四行)定義 to 元素為 "#PCDATA" 類型

!ELEMENT from (第五行)定義 frome 元素為 "#PCDATA" 類型

!ELEMENT heading (第六行)定義 heading 元素為 "#PCDATA" 類型

!ELEMENT body (第七行)定義 body 元素為 "#PCDATA" 類型

外部文檔聲明

假如 DTD 位于 XML 源文件的外部,那么它應(yīng)通過下面的語法被封裝在一個(gè) DOCTYPE 定義中:

這個(gè) XML 文檔和上面的 XML 文檔相同,但是擁有一個(gè)外部的 DTD: (并選擇“查看源代碼”命令。)




George
John
Reminder
Don't forget the meeting!

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





為什么使用 DTD?

通過 DTD,您的每一個(gè) XML 文件均可攜帶一個(gè)有關(guān)其自身格式的描述。

通過 DTD,獨(dú)立的團(tuán)體可一致地使用某個(gè)標(biāo)準(zhǔn)的 DTD 來交換數(shù)據(jù)。

而您的應(yīng)用程序也可使用某個(gè)標(biāo)準(zhǔn)的 DTD 來驗(yàn)證從外部接收到的數(shù)據(jù)。

您還可以使用 DTD 來驗(yàn)證您自身的數(shù)據(jù)。

XML 文檔構(gòu)建模塊

所有的 XML 文檔(以及 HTML 文檔)均由以下簡(jiǎn)單的構(gòu)建模塊構(gòu)成:

  • 元素

  • 屬性

  • 實(shí)體

  • PCDATA

  • CDATA

下面是每個(gè)構(gòu)建模塊的簡(jiǎn)要描述。

元素

元素是 XML 以及 HTML 文檔的主要構(gòu)建模塊。

HTML 元素的例子是 "body" 和 "table"。XML 元素的例子是 "note" 和 "message" 。元素可包含文本、其他元素或者是空的??盏?HTML 元素的例子是 "hr"、"br" 以及 "img"。

實(shí)例:

body text in between
some message in between

屬性

屬性可提供有關(guān)元素的額外信息

屬性總是被置于某元素的開始標(biāo)簽中。屬性總是以名稱/值的形式成對(duì)出現(xiàn)的。下面的 "img" 元素?fù)碛嘘P(guān)于源文件的額外信息:

元素的名稱是 "img"。屬性的名稱是 "src"。屬性的值是 "computer.gif"。由于元素本身為空,它被一個(gè) " /" 關(guān)閉。

實(shí)體

實(shí)體是用來定義普通文本的變量。實(shí)體引用是對(duì)實(shí)體的引用。

大多數(shù)同學(xué)都了解這個(gè) HTML 實(shí)體引用:" "。這個(gè)“無折行空格”實(shí)體在 HTML 中被用于在某個(gè)文檔中插入一個(gè)額外的空格。

當(dāng)文檔被 XML 解析器解析時(shí),實(shí)體就會(huì)被展開。

下面的實(shí)體在 XML 中被預(yù)定義:

實(shí)體引用字符
<<
>>
&&
""
''

PCDATA

PCDATA 的意思是被解析的字符數(shù)據(jù)(parsed character data)。

可把字符數(shù)據(jù)想象為 XML 元素的開始標(biāo)簽與結(jié)束標(biāo)簽之間的文本。

PCDATA 是會(huì)被解析器解析的文本。這些文本將被解析器檢查實(shí)體以及標(biāo)記。

文本中的標(biāo)簽會(huì)被當(dāng)作標(biāo)記來處理,而實(shí)體會(huì)被展開。

不過,被解析的字符數(shù)據(jù)不應(yīng)當(dāng)包含任何 &、< 或者 > 字符;需要使用 &、< 以及 > 實(shí)體來分別替換它們。

在一個(gè) DTD 中,元素通過元素聲明來進(jìn)行聲明。

聲明一個(gè)元素

在 DTD 中,XML 元素通過元素聲明來進(jìn)行聲明。元素聲明使用下面的語法:

或者

空元素

空元素通過類別關(guān)鍵詞EMPTY進(jìn)行聲明:

例子:

XML例子:


只有 PCDATA 的元素

只有 PCDATA 的元素通過圓括號(hào)中的 #PCDATA 進(jìn)行聲明:

例子:

帶有任何內(nèi)容的元素

通過類別關(guān)鍵詞 ANY 聲明的元素,可包含任何可解析數(shù)據(jù)的組合:

例子:

帶有子元素(序列)的元素

帶有一個(gè)或多個(gè)子元素的元素通過圓括號(hào)中的子元素名進(jìn)行聲明:

或者

例子:

當(dāng)子元素按照由逗號(hào)分隔開的序列進(jìn)行聲明時(shí),這些子元素必須按照相同的順序出現(xiàn)在文檔中。在一個(gè)完整的聲明中,子元素也必須被聲明,同時(shí)子元素也可擁有子元素。"note" 元素的完整聲明是:





聲明只出現(xiàn)一次的元素

例子:

上面的例子聲明了:message 子元素必須出現(xiàn)一次,并且必須只在 "note" 元素中出現(xiàn)一次。

聲明最少出現(xiàn)一次的元素

例子:

上面的例子中的加號(hào)聲明了:message 子元素必須在 "note" 元素內(nèi)出現(xiàn)至少一次。

聲明出現(xiàn)零次或多次的元素

例子:

上面的例子中的星號(hào)聲明了:子元素 message 可在 "note" 元素內(nèi)出現(xiàn)零次或多次。

聲明出現(xiàn)零次或一次的元素

例子:

上面的例子中的問號(hào)聲明了:子元素 message 可在 "note" 元素內(nèi)出現(xiàn)零次或一次。

聲明“非.../既...”類型的內(nèi)容

例子:

上面的例子聲明了:"note" 元素必須包含 "to" 元素、"from" 元素、"header" 元素,以及非 "message" 元素既 "body" 元素。

聲明混合型的內(nèi)容

例子:

上面的例子聲明了:"note" 元素可包含出現(xiàn)零次或多次的 PCDATA、"to"、"from"、"header" 或者 "message"。

聲明屬性

屬性聲明擁使用下列語法:

DTD 實(shí)例:

XML 實(shí)例:

以下是屬性類型的選項(xiàng):

類型描述
CDATA值為字符數(shù)據(jù) (character data)
(en1|en2|..)此值是枚舉列表中的一個(gè)值
ID值為唯一的 id
IDREF值為另外一個(gè)元素的 id
IDREFS值為其他 id 的列表
NMTOKEN值為合法的 XML 名稱
NMTOKENS值為合法的 XML 名稱的列表
ENTITY值是一個(gè)實(shí)體
ENTITIES值是一個(gè)實(shí)體列表
NOTATION此值是符號(hào)的名稱
xml:值是一個(gè)預(yù)定義的 XML 值

默認(rèn)值參數(shù)可使用下列值:

解釋
屬性的默認(rèn)值
#REQUIRED屬性值是必需的
#IMPLIED屬性不是必需的
#FIXED value屬性值是固定的

規(guī)定一個(gè)默認(rèn)的屬性值

DTD:


合法的 XML:

在上面的例子中,"square" 被定義為帶有 CDATA 類型的 "width" 屬性的空元素。如果寬度沒有被設(shè)定,其默認(rèn)值為0 。

#IMPLIED

語法

例子

DTD:

合法的 XML:

合法的 XML:

假如您不希望強(qiáng)制作者包含屬性,并且您沒有默認(rèn)值選項(xiàng)的話,請(qǐng)使用關(guān)鍵詞 #IMPLIED。

#REQUIRED

語法

例子

DTD:

合法的 XML:

非法的 XML:

假如您沒有默認(rèn)值選項(xiàng),但是仍然希望強(qiáng)制作者提交屬性的話,請(qǐng)使用關(guān)鍵詞 #REQUIRED。

#FIXED

語法

例子

DTD:

合法的 XML:

非法的 XML:

如果您希望屬性擁有固定的值,并不允許作者改變這個(gè)值,請(qǐng)使用 #FIXED 關(guān)鍵詞。如果作者使用了不同的值,XML 解析器會(huì)返回錯(cuò)誤。

列舉屬性值

語法:

DTD 例子:

XML 例子:

或者

如果您希望屬性值為一系列固定的合法值之一,請(qǐng)使用列舉屬性值。

實(shí)體是用于定義用于定義引用普通文本或特殊字符的快捷方式的變量。

實(shí)體引用是對(duì)實(shí)體的引用。

實(shí)體可在內(nèi)部或外部進(jìn)行聲明。

一個(gè)內(nèi)部實(shí)體聲明

語法:

例子:

DTD 例子:


XML 例子:

&writer;©right;

注釋: 一個(gè)實(shí)體由三部分構(gòu)成: 一個(gè)和號(hào) (&), 一個(gè)實(shí)體名稱, 以及一個(gè)分號(hào) (;)。

一個(gè)外部實(shí)體聲明

語法:

例子:

DTD 例子:


XML 例子:

&writer;©right;

通過 XML 解析器進(jìn)行驗(yàn)證

當(dāng)您試圖打開某個(gè) XML 文檔時(shí),XML 解析器有可能會(huì)產(chǎn)生錯(cuò)誤。通過訪問 parseError 對(duì)象,就可以取回引起錯(cuò)誤的確切代碼、文本甚至所在的行。

注釋:load( ) 方法用于文件,而 loadXML( ) 方法用于字符串。

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.validateOnParse="true"
xmlDoc.load("note_dtd_error.xml")

document.write("
Error Code: ") document.write(xmlDoc.parseError.errorCode) document.write("
Error Reason: ") document.write(xmlDoc.parseError.reason) document.write("
Error Line: ") document.write(xmlDoc.parseError.line)

關(guān)閉驗(yàn)證

通過把 XML 解析器的 validateOnParse 設(shè)置為 "false",就可以關(guān)閉驗(yàn)證。

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.validateOnParse="false"
xmlDoc.load("note_dtd_error.xml")

document.write("
Error Code: ") document.write(xmlDoc.parseError.errorCode) document.write("
Error Reason: ") document.write(xmlDoc.parseError.reason) document.write("
Error Line: ") document.write(xmlDoc.parseError.line)

Try it Yourself

通用的 XML 驗(yàn)證器

為了幫助您驗(yàn)證 XML 文件,我們創(chuàng)建了此鏈接,這樣你就可以驗(yàn)證任何 XML 文件了。

parseError 對(duì)象

電視節(jié)目表 DTD









 








]>

報(bào)紙文章 DTD







 










]>

產(chǎn)品目錄 DTD

拷貝自:http://www.php.cn/





















]>

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司的支持。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前名稱:什么是XML與DTD-創(chuàng)新互聯(lián)
分享URL:http://weahome.cn/article/dopgio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部