快速入門dtd

2021-10-04 20:06:33 字數 3435 閱讀 2034

今天我們來學習一下dtd的使用以及約束。

我們來說一下什麼是有效的xml文件?

內容結構嚴謹遵守自身標記,能通過自身的語法檢查,通過dtd驗證的xml文件稱為有效的xml文件。

dtdschema

兩者都可以用來約束xml文件,schema 比dtd強大同時難度也比dtd高一點,我們只要學習好dtd然後去看schema 是輕輕鬆鬆的。

(1)有且只有乙個根元素

(2)xml標籤大小寫正確區分

(3)正確使用結束標籤

(4)正確巢狀標籤

(5)使用了合法的標籤名(a-za-z0-9-_)

(6)定義有效的屬性

1.宣告dtd

格式:

<

!doctype 根元素名[

]>

2.元素定義的語法

語法格式<

!element 元素名稱 元素約束》

元素型別

解釋空元素

文字元素

混合元素

3.元素的限制元素

解釋,順序|

或+1~(次)

*0~n(次)

?0或1

(如果沒有)

(預設是一次)

4.屬性定義的語法

格式:

<

!attlist 元素名 屬性名 屬性型別/

>

語法

解釋id

唯一非空 ,類似於資料庫中的主鍵

(男|女) 「男」

舉枚,預設男的意思

cdata

純文字idref

屬性值引用已定義的id值(相當於主鍵引用外來鍵)

#required

必須 #implied

非必須

5.xml中的特殊符號符號

解釋& amp;

&(邏輯與)

& lt;

<(小於)

& gt;

>(大於)

& quot;

"(雙引號)

& apos;

'(單引號)

注:&:在xml裡面是乙個特殊字元:用來取變數的開始

;:在xml裡面是乙個特殊字元:用來取變數的結束

相當於:

amp=&

& amp;

6.外部dtd

dtd三種引入方式:

(1)引入外部的dtd檔案

< !doctype 根元素名稱 system 「dtd檔案路徑」>

(2)引入內部的dtd檔案

< !doctype 根元素名稱 [dtd**]>

(3)使用外部的dtd檔案(網路上的)

< !doctype 根元素名稱 public 「dtd名稱」 「dtd文件的url」>

2.1內部dtd

<

?xml version=

"1.0" encoding=

"utf-8"

?>

<

!-- 內部dtd --

>

<

!doctype persons [

<

!element

persons

(person*

)>

<

!element

person

(name,age,contact,br?

)>

<

!element

name

(#pcdata

)>

<

!element

age(#pcdata

)>

<

!element

contact

(phone|email)

>

<

!element

phone

(#pcdata

)>

<

!element br empty

>

<

!element

email

(#pcdata

)>

<

!attlist person

pid id #required

***(男|女)

"男"

qq cdata #implied

parent idref #implied

>

]>

"p1" ***=

"男" qq=

"aaa" parent=

"p2"

>

張小明<

/name>

10<

/age>

1234567

<

/phone>

<

/contact>

>

<

/person>

"p2"

>

張大明<

/name>

35<

/age>

@qq.com<

/email>

<

/contact>

<

/person>

<

/persons>

2.2引用外部dtd

<

?xml version=

"1.0" encoding=

"utf-8"

?>

<

!-- 外部dtd --

>

<

!doctype persons system "demo4.dtd"

>

"p1" ***=

"男" qq=

"aaa" parent=

"p2"

>

張小明<

/name>

10<

/age>

1234567

<

/phone>

<

/contact>

>

<

/person>

"p2"

>

張大明<

/name>

35<

/age>

@qq.com<

/email>

<

/contact>

<

/person>

<

/persons>

DTD快速入門

1.dtd宣告型別 內部的 doctype 宣告 xml version 1.0 doctype note element note to,from,heading,body element to pcdata element from pcdata element heading pcdata e...

DTD基礎入門

什麼是dtd約束 dtd與schema是用來效驗xml檔案dtd document type definition 文件型別定義,用來約束xml文件。規定xml文件中元素的名稱,子元素的名稱及順序,元素的屬性等等。什麼是良好的xml 1.有且只有乙個根元素 2.xml標籤大小寫正確區分 3.正確使用...

DTD 語法快速指南

a b c 和 d 是在下例中代表元素的變數。元素必須有正好乙個a 至少乙個b 由加號表示 零個或多個c 由星號表示 以及零個或乙個d 由問號表示 元素可能有a或b或c之一 元素不包含任何內容 元素可以包含在 dtd 中列出的任何元素 元素可能包含經過語法分析的字元資料或另乙個元素 element2...