這篇文章主要介紹了xml約束技術(shù)dtd的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的寧縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1.DTD官方教程
##2.xml約束技術(shù):
DTD約束:語法相對簡單,功能也相對簡單。先出現(xiàn)
Schema約束:語法相對復(fù)雜,功能也相對強(qiáng)大。采用和xml語法類似的編寫方式,Schema約束出現(xiàn)就是為了替換DTD約束。
3.DTD簡介:
文檔類型定義(DTD)可定義合法的XML文檔構(gòu)建模塊。它使用一系列合法的元素來定義文檔的結(jié)構(gòu)。DTD 可被成行地聲明于 XML 文檔中,也可作為一個(gè)外部引用。
3.1導(dǎo)入DTD的方式:
1.內(nèi)部導(dǎo)入:
<code>#導(dǎo)入方式: <!DOCTYPE root-element [element-declarations]> #實(shí)例: <?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> </code>
(第二行)定義此文檔是 note(根標(biāo)簽) 類型的文檔。<br> (第三行)定義 note 元素有四個(gè)元素(標(biāo)簽):"to、from、heading,、body"<br> (第四行)定義 to 元素為 "#PCDATA" 類型<br> (第五行)定義 frome 元素為 "#PCDATA" 類型<br> (第六行)定義 heading 元素為 "#PCDATA" 類型<br> <p>(第七行)定義 body 元素為 "#PCDATA" 類型</p> <p>外部導(dǎo)入方式:<br> 本地文件:</p> <pre class="brush:xml;"><code>#導(dǎo)入方式: <!DOCTYPE note SYSTEM "note.dtd"> #note.dtd文件內(nèi)容: <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)></code></pre> <p> 公共的外部導(dǎo)入:一般項(xiàng)目采用公共外部導(dǎo)入,比如ssh的xml文件基本上就是采用了這種方式</p> <pre class="brush:xml;"><code>#導(dǎo)入方式: <!DOCTYPE 根元素 PUBLIC "http://rlovep.com/peace.dtd"> #如hibernate.cfg.xml: <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"></code></pre> <h4>3.2DTD語法:</h4> <p> 1.約束標(biāo)簽<br> 語法:</p> <pre class="brush:xml;"><code> <!ELEMENT 元素名稱 類別> 或 <!ELEMENT 元素名稱 (元素內(nèi)容)></code></pre> 類別:<br> 空標(biāo)簽: EMPTY。 表示元素一定是空元素.例如:<bb/>:<!--ELEMENT bb EMPTY--><br> 普通字符串: (#PCDATA)。表示元素的內(nèi)容一定是普通字符串(不能含有子標(biāo)簽)。例如:<!--ELEMENT to (#PCDATA)--><br> <p>任何內(nèi)容: ANY。表示元素的內(nèi)容可以是任意內(nèi)容(包括子標(biāo)簽) 例如:<!--ELEMENT note ANY--></p>
元素內(nèi)容:
<code>順序問題: <!ELEMENT 元素名稱 (子元素名稱 1,子元素名稱 2,.....)>: 按順序出現(xiàn)子標(biāo)簽 次數(shù)問題: 標(biāo)簽 : 必須且只出現(xiàn)1次。 標(biāo)簽+ : 至少出現(xiàn)1次 標(biāo)簽* : 0或n次。 標(biāo)簽? : 0 或1次。 聲明"非.../既..."類型的內(nèi)容</code>
2.約束屬性:
語法:
<code><!ATTLIST 元素名稱 屬性名稱 屬性類型 默認(rèn)值></code>
屬性類型:
<code>CDATA :表示普通字符串 (en1|en2|..): 表示一定是任選其中的一個(gè)值 ID:表示在一個(gè)xml文檔中該屬性值必須唯一。值不能以數(shù)字開頭</code>
默認(rèn)值:
<code>#REQUIRED 屬性值是必需的 #IMPLIED 屬性不是必需的 #FIXED value 屬性不是必須的,但屬性值是固定的</code>
3.3測試如下,請細(xì)看注釋:
<code><?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from+,heading*,body?,(br|b))> <!--帶有子序列的元素,需要按照先后順序出現(xiàn); to只能出現(xiàn)一次 from最少出現(xiàn)一次 heading次數(shù)隨意 body出現(xiàn)零次或者一次 非出現(xiàn)br就出現(xiàn)b --> <!--元素約束--> <!ELEMENT to (#PCDATA)><!--pcdata元素--> <!ELEMENT from ANY><!--任何內(nèi)容的元素--> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> <!ELEMENT br EMPTY><!--空元素--> <!ELEMENT b EMPTY><!--空元素--> <!--屬性約束--> <!ATTLIST to number CDATA #REQUIRED><!--必須有屬性值出現(xiàn),且屬性值類型為字符串--> <!ATTLIST from length CDATA "10"><!--默認(rèn)屬性值,不寫出屬性時(shí)屬性值為10--> <!--假如您不希望強(qiáng)制作者包含屬性,并且您沒有默認(rèn)值選項(xiàng)的話,請使用關(guān)鍵詞 #IMPLIED。--> <!ATTLIST heading length CDATA #IMPLIED> <!ATTLIST body length CDATA #FIXED "123"><!--屬性擁有固定的值,并不允許作者改變這個(gè)值--> <!ATTLIST br type (check|cash) "cash"><!--屬性值可以為check和cash中的一個(gè)--> ]> <note> <to number="1234">Tove</to> <from>Jani</from> <heading length="10">Reminder</heading> <body length="123">Don't forget me this weekend</body> <br type="check"/> </note></code>
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“xml約束技術(shù)dtd的示例分析”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
網(wǎng)站欄目:xml約束技術(shù)dtd的示例分析
網(wǎng)頁地址:http://chinadenli.net/article36/jgggsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站營銷、域名注冊、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)