XML中的DTD文檔類型定義詳細介紹-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關XML中的DTD文檔類型定義詳細介紹,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)公司從2013年成立,先為平果等服務建站,平果等地企業(yè),進行企業(yè)商務咨詢服務。為平果企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

XML 文檔類型定義,俗稱 DTD,它是一種準確描述 XML 語言的方式。DTDs 根據(jù)適當 XML 語言的語法規(guī)則檢查 XML 文檔的詞匯和結構的有效性。

XML DTD 可以指定在文檔內部,也可以保存在獨立的文檔中然后單獨鏈接。

語法
DTD 的基本語法如下所示:

<!DOCTYPE element DTD identifier   
[   
    declaration1   
    declaration2   
    ........   
]>

上述語法中:

DTD 以 <!DOCTYPE 定界符開始。
element 用于告訴解析器從指定的根元素開始解析文檔。
DTD identifier 是一個用于文檔類型定義的標示符,它可以是一個指向系統(tǒng)中某個文件的路徑或者連接到互聯(lián)網(wǎng)上某個文件的 URL。如果 DTD 指向外部路徑,則被稱為外部子集。 _ [] 內是一個可選的實體聲明列表,被稱為內部子集。
內部 DTD
如果一個元素聲明在 XML 文檔的內部則 DTD 被稱為內部 DTD。為了把它作為內部 DTD,XML 聲明中的 standalone 屬性必須設置為 yes。這意味著,聲明的工作獨立于外部源。

語法

內部 DTD 語法如下所示:

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

這里 root-element 是根元素的名稱,element-declarations 表示我們聲明的元素。

示例

下面是一個內部 DTD 的簡單示例:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  
<!DOCTYPE address [   
<!ELEMENT address (name,company,phone)>  
    <!ELEMENT name (#PCDATA)>  
    <!ELEMENT company (#PCDATA)>  
    <!ELEMENT phone (#PCDATA)>  
]>  
<address>  
    <name>Tanmay Patil</name>  
    <company>TutorialsPoint</company>  
    <phone>(011) 123-4567</phone>  
</address>

我們來看一下上面的代碼:

開始聲明 - 使用如下語句開始 XML 聲明:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

DTD - 緊跟在 XML 頭后面,_文檔類型聲明_如下,通常被稱為 DOCTYPE:

<!DOCTYPE address [
DOCTYPE 聲明在元素名稱的開頭包含一個感嘆號(!)。DOCTYPE 會通知解析器有一個 DTD 與這個文檔相關聯(lián)。

DTD Body - DOCTYPE 聲明后面緊跟 DTD 體,這里我們聲明元素,屬性,實體和符號:

<!ELEMENT address (name,company,phone)>  
<!ELEMENT name (#PCDATA)>  
<!ELEMENT company (#PCDATA)>  
<!ELEMENT phone_no (#PCDATA)>

許多元素都在這里通過 <name> 文檔詞匯聲明。<!ELEMENT name (#PCDATA)> 定義元素_名稱_為 "#PCDATA" 類型。這里 #PCDATA 意味著可解析的文本數(shù)據(jù)。

結束聲明 - 最后,DTD 的聲明部分使用方括號和尖括號(]>)閉合。這是一個有效的結束定義,后面緊跟的就是 XML 文檔內容。

規(guī)則

文檔類型聲明必須出現(xiàn)在文檔的開頭部分(只先與 XML 頭),不允許出現(xiàn)在文檔的任意其他位置。
類似于 DOCTYPE 聲明,元素聲明必須以感嘆號開始。
文檔類型聲明中的 Name 必須與根元素的類型匹配。
外部 DTD
在外部 DTD 中元素聲明在 XML 文檔的外部。通過指定 system 屬性來訪問,這個屬性值可以是合法的 .dtd 文件或者有效的 URL。為了指示它是外部 DTD,XML 聲明的 standalone 屬性必須設置為 no。這就意味著,聲明包含來自外部源的信息。

語法

下面是外部 DTD 的語法:

<!DOCTYPE root-element SYSTEM "file-name">

這里 file-name 就是 .dtd 擴展的文件。

示例

下面的示例展示了外部 DTD 的用法:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>  
<!DOCTYPE address SYSTEM "address.dtd">  
<address>  
    <name>Tanmay Patil</name>  
    <company>TutorialsPoint</company>  
    <phone>(011) 123-4567</phone>  
</address>  
DTD 文件 address.dtd 的內容如下所示:   
  
<!ELEMENT address (name,company,phone)>  
<!ELEMENT name (#PCDATA)>  
<!ELEMENT company (#PCDATA)>  
<!ELEMENT phone (#PCDATA)>

類型

我們可以通過使用系統(tǒng)標示符或者公共標示符引用一個外部DTD。

系統(tǒng)標示符

系統(tǒng)標示符允許我們指定包含 DTD 聲明的外部文件的位置。語法如下:

<!DOCTYPE name SYSTEM "address.dtd" [...]>

正如我們可以看到的,它包含 SYSTEM 關鍵字和一個指向文檔位置的 URI 引用。

公共標示符

公共標示符提供了一種定位 DTD 資源的機制,寫法如下:

<!DOCTYPE name PUBLIC "-//Beginning XML//DTD Address Example//EN">

正如我們可以看到的,它以 PUBLIC 關鍵字開始,后面緊跟的是專門的標識符。公共標識符被用來標識目錄中的條目。公共標識符可以遵循任意格式,但是常用的格式是正式公用標識符(或者 FPIs)。

聲明元素
在dtd中聲明元素(在一個xml如果一個元素想要讓它是合法的,則需要在dtd中聲明)
     語法:<!ELEMENT 元素名稱 類別>和<!ELEMENT 元素名稱 (元素內容)>這兩種方式
<!ELEMENT 元素名稱 EMPTY>

例如:

<!ELEMENT br EMPTY>

則xml可以寫成:

<br/>

注意點
在dtd中
所有的 XML 文檔(以及 HTML 文檔)均由以下簡單的構建模塊構成:
元素
屬性
實體
PCDATA
CDATA
下面是一些注意點:
(1)實體是用來定義普通文本的變量。實體引用是對實體的引用。
大多數(shù)同學都了解這個 HTML 實體引用:"&nbsp;"。這個“無折行空格”實體在 HTML 中被用于在某個文檔中插入一個額外的空格。
當文檔被 XML 解析器解析時,實體就會被展開。
XML中的DTD文檔類型定義詳細介紹

(2) PCDATA
PCDATA 的意思是被解析的字符數(shù)據(jù)(parsed character data)。
可把字符數(shù)據(jù)想象為 XML 元素的開始標簽與結束標簽之間的文本。
PCDATA 是會被解析器解析的文本。這些文本將被解析器解析成實體以及標記。
文本中的標簽會被當作標記來處理,而實體會被展開。
不過,被解析的字符數(shù)據(jù)不應當包含任何 &、< 或者 > 字符;需要使用 &amp;、&lt; 以及 &gt; 實體來分別替換它們。
(3)CDATA
CDATA 的意思是字符數(shù)據(jù)(character data)。
CDATA 是不會被解析器解析的文本。在這些文本中的標簽不會被當作標記來對待,其中的實體也不會被展開。

以上就是XML中的DTD文檔類型定義詳細介紹,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道。

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

文章名稱:XML中的DTD文檔類型定義詳細介紹-創(chuàng)新互聯(lián)
鏈接分享:http://bm7419.com/article24/cdigce.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、企業(yè)建站、面包屑導航、網(wǎng)站設計外貿建站、關鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司