溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python生成xml時規(guī)定dtd實(shí)例方法

發(fā)布時間:2020-10-08 15:25:08 來源:腳本之家 閱讀:159 作者:愛喝馬黛茶的安東尼 欄目:開發(fā)技術(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)于組合類型,有下述的的修飾符可以使用:

python生成xml時規(guī)定dtd實(shí)例方法

四、屬性定義

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)文章希望大家以后多多支持億速云!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI