python生成xml時(shí)規(guī)定dtd實(shí)例方法
一、DTD文檔的聲明及引用
1.內(nèi)部DTD文檔
<!DOCTYPE 根元素 [定義內(nèi)容]>
2.外部DTD文檔
引入外部的DTD文檔分為兩種:
(1)當(dāng)引用的DTD文件是本地文件的時(shí)候,用SYSTEM標(biāo)識(shí),并寫(xiě)上”DTD的文件路徑”,如下:
<!DOCTYPE 根元素 SYSTEM 'DTD文件路徑'>
(2)如果引用的DTD文件是一個(gè)公共的文件時(shí),采用PUBLIC標(biāo)識(shí),如下方式:
<!DOCTYPE 根元素 PUBLIC 'DTD名稱' 'DTD文件的URL'>
比如下例:
<!DOCTYPE web-app PUBLIC '-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/ web-app_2_3.dtd'>
二、DTD基本語(yǔ)法:
<!ELEMENT NAME CONTENT>
其中:
- ELEMENT是關(guān)鍵字,是不能修改的
- NAME表示元素名稱
- CONTENT是元素類型,必須要大寫(xiě)!CONTENT的內(nèi)容有三種寫(xiě)法:
(1)EMPTY——表示該元素不能包含子元素和文本,但可以有屬性。
(2)ANY——表示該元素可以包含任何在該DTD中定義的元素內(nèi)容
(3)#PCDATA——可以包含任何字符數(shù)據(jù),但是不能在其中包含任何子元素
三、DTD元素的組合類型:
DTD中這樣規(guī)定:
<!ELEMENT 家庭(人+,家電*)>
這個(gè)DTD規(guī)定了家庭元素中可以有1到多個(gè)”人”這個(gè)子元素,也可以有0到多個(gè)”家電”這個(gè)子元素。其中的加號(hào)”+”和星號(hào)”*”的含義與正則表達(dá)式中的含義一致。
XML這樣寫(xiě):
<家庭> <人 名字='張曉明' 性別='男' 年齡='25'/> <人 名字='李小鋼' 性別='男' 年齡='36' 愛(ài)好='作個(gè)教育家和偉人'/> <家電 名稱='彩電' 數(shù)量='3'/></家庭>
關(guān)于組合類型,有下述的的修飾符可以使用:
四、屬性定義
DTD中屬性的定義是這樣的:
<!ATTLIST 元素名稱 屬性名稱 類型 屬性特點(diǎn) 屬性名稱 類型 屬性特點(diǎn)...... >
其中,屬性的類型有下面5種:
(1) CDATA(2) ID(3) IDREF/IDREFS(4) Enumerated(5) ENTITY/ENTITIES
屬性的特點(diǎn)有如下4種:
(1) #REQUIRED,表示這個(gè)屬性必須給,不給就報(bào)錯(cuò)(2) #IMPLIED,表示這個(gè)屬性可以給也可以不給(3) #FIXED value,表示這個(gè)屬性必須給一個(gè)固定的value值(4) Default value,表示這個(gè)屬性如果沒(méi)有值,就分配一個(gè)默認(rèn)的value值
到此這篇關(guān)于python生成xml時(shí)規(guī)定dtd實(shí)例方法的文章就介紹到這了,更多相關(guān)python 生成xml時(shí)如何規(guī)定dtd內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片2. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法3. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考4. Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端5. ASP.NET MVC使用Session會(huì)話保持表單狀態(tài)6. 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁(yè)的問(wèn)題7. java生成圖片驗(yàn)證碼的示例代碼8. opencv-python的RGB與BGR互轉(zhuǎn)方式9. HTML基礎(chǔ)詳解(下)10. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效
