python生成xml時規(guī)定dtd實(shí)例方法
一、DTD文檔的聲明及引用
1.內(nèi)部DTD文檔
<!DOCTYPE 根元素 [定義內(nèi)容]>
2.外部DTD文檔
引入外部的DTD文檔分為兩種:
(1)當(dāng)引用的DTD文件是本地文件的時候,用SYSTEM標(biāo)識,并寫上”DTD的文件路徑”,如下:
<!DOCTYPE 根元素 SYSTEM "DTD文件路徑">
(2)如果引用的DTD文件是一個公共的文件時,采用PUBLIC標(biāo)識,如下方式:
<!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基本語法:
<!ELEMENT NAME CONTENT>
其中:
- ELEMENT是關(guān)鍵字,是不能修改的
- NAME表示元素名稱
- CONTENT是元素類型,必須要大寫!CONTENT的內(nèi)容有三種寫法:
(1)EMPTY——表示該元素不能包含子元素和文本,但可以有屬性。
(2)ANY——表示該元素可以包含任何在該DTD中定義的元素內(nèi)容
(3)#PCDATA——可以包含任何字符數(shù)據(jù),但是不能在其中包含任何子元素
三、DTD元素的組合類型:
DTD中這樣規(guī)定:
<!ELEMENT 家庭(人+,家電*)>
這個DTD規(guī)定了家庭元素中可以有1到多個”人”這個子元素,也可以有0到多個”家電”這個子元素。其中的加號”+”和星號”*”的含義與正則表達(dá)式中的含義一致。
XML這樣寫:
<家庭> <人 名字="張曉明" 性別="男" 年齡="25"/> <人 名字="李小鋼" 性別="男" 年齡="36" 愛好="作個教育家和偉人"/> <家電 名稱="彩電" 數(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,表示這個屬性必須給,不給就報(bào)錯 (2) #IMPLIED,表示這個屬性可以給也可以不給 (3) #FIXED value,表示這個屬性必須給一個固定的value值 (4) Default value,表示這個屬性如果沒有值,就分配一個默認(rèn)的value值
到此這篇關(guān)于python生成xml時規(guī)定dtd實(shí)例方法的文章就介紹到這了,更多相關(guān)python 生成xml時如何規(guī)定dtd內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python根據(jù)指定文件生成XML的方法
- Python如何生成xml文件
- 利用 Python ElementTree 生成 xml的實(shí)例
- python 批量修改 labelImg 生成的xml文件的方法
- 對python 生成拼接xml報(bào)文的示例詳解
- 使用Python生成XML的方法實(shí)例
- 利用Python腳本生成sitemap.xml的實(shí)現(xiàn)方法
- Python中使用dom模塊生成XML文件示例
- python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(八):XML生成與解析(DOM、ElementTree)
- python將xml xsl文件生成html文件存儲示例講解
- python 生成xml文件,以及美化的實(shí)例代碼
相關(guān)文章
python實(shí)現(xiàn)類似ftp傳輸文件的網(wǎng)絡(luò)程序示例
這篇文章主要介紹了python實(shí)現(xiàn)類似ftp傳輸文件的網(wǎng)絡(luò)程序示例,需要的朋友可以參考下2014-04-04
Python關(guān)鍵字之global與nonlocal
這篇文章主要為大家詳細(xì)介紹了Python關(guān)鍵字之global與nonlocal,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
聊聊Python代碼中if?__name__?==?‘__main__‘的作用是什么
一個python文件通常有兩種使用方法,第一是作為腳本直接執(zhí)行,第二是 import 到其他的python腳本中被調(diào)用執(zhí)行,這篇文章主要給大家介紹了關(guān)于Python代碼中if?__name__?==?‘__main__‘的作用是什么的相關(guān)資料,需要的朋友可以參考下2022-03-03
Python使用pywebview開發(fā)桌面應(yīng)用的全過程
當(dāng)使用桌面應(yīng)用程序的時候,有沒有那么一瞬間,想學(xué)習(xí)一下桌面應(yīng)用程序開發(fā)?下面這篇文章主要給大家介紹了關(guān)于Python使用pywebview開發(fā)桌面應(yīng)用的相關(guān)資料,需要的朋友可以參考下2022-06-06
解決pycharm不能自動保存在遠(yuǎn)程linux中的問題
這篇文章主要介紹了解決pycharm不能自動保存在遠(yuǎn)程linux中的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
python numpy中mat和matrix的區(qū)別
這篇文章主要介紹了python numpy中mat和matrix的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03

