DTD學習筆記(二) DTD元素構建

2021-10-21 01:27:46 字數 2171 閱讀 3697

首先,得理解這樣乙個關係,dtd是用來定義xml合法構建模組。我理解的意思就是給他設定乙個規則,如果xml標籤不符合這個規則,他就是不合法的。也就是說他是用來給xml設定規則用的。那麼要學習dtd元素構建,首先就要了解xml的元素。

一.xml文件有哪些模組 元素呢?

1.元素(element)

這個是xml以及html文件的主要構建模組 ,例如html

元素的例子就是"body" 「table」這樣主要用來展示的標籤。

xml元素的例子是「note」"message"這樣用 來放資料的標籤,html標籤用來解決在**展示,怎麼展示的問題。xml用來解決展示什麼內容(就是資料)的問題。

2.屬性

這個是跟在標籤後面的,可以提供有關元素的額外資訊。例如:

這裡面img表示乙個影象標籤,src就是屬性,代表這個影象資源的名字

3.實體

當遇到一些特殊符號的時候解析器可能會出現一些錯誤。

例如< > &這樣的符號,需要使用實體引用來表示這些符號

實體引用	字元

< <

> >

& &

" "

' '

4.pcdata

表示被解析的字元資料(parsed character data)開始標籤和結束標籤之間的文字會被解析器檢查實體和標記。像< > &等這些字元不應該出現在這裡,應該使用上面3中的實體引用來表示。

5.cdata

是字元資料,和4不同的是這些資料不會被解析器解析。

好了,有了以上的知識,現在就可以來看dtd中的元素了。先來看語法。

1.怎麼宣告乙個元素

element-name:就是元素名字,也就是所謂的標籤。例如

這裡我宣告了乙個只有pcdata元素的標籤。xml可以寫

hello world
後面category就是元素型別了。

之後的就簡單了,

總體格式就是

有以下幾類:

1.空元素

就是元素型別為empty.

2.只有 pcdata 的元素

元素型別為(#pcdata) 注意這裡有圓括號

例項:

3.帶有任何內容的元素

元素型別為any

例項:

4.帶有子元素(序列)的元素

或例項:

這裡還有一種完整的寫法:

我理解是先宣告乙個note,他有四個子元素to from heading body。然後在分別宣告他四個子element的宣告。

為了省事期間,下面只寫說明和語法說明

5.宣告只出現一次的元素

例項:

上面的例子宣告了:message 子元素必須出現一次,並且必須只在 「note」 元素**現一次。

6.宣告最少出現一次的元素

7.宣告出現零次或多次的元素

8.宣告出現零次或一次的元素

9.宣告"非…/即…"型別的內容

上面的例子宣告了:「note」 元素必須包含 「to」 元素、「from」 元素、「header」 元素,以及非 「message」 元素即 「body」 元素。

10.宣告混合型的內容

上面的例子宣告了:「note」 元素可包含出現零次或多次的 pcdata、「to」、「from」、「header」 或者 「message」。

總結:

總體來看還是很簡單的,無非就是定義

element是什麼樣的屬性,element裡面還包含了哪些element,以及他的屬性。

dtd學習筆記

dtd學習記錄 二 一.基本概念 dtd的兩個任務 它幫助你編寫合法的 它讓瀏覽器正確地顯示器 1.dtd是文件型別定義 一般和xml檔案配合使用,主要的用處是約束xml。除了dtd以外,還有乙個schema的技術也可以用於約束xml檔案的書寫規範。2.dtd文件與xml文件例項的關係 類與物件 資...

DTD元素詳解

宣告乙個元素 在 dtd 中,xml 元素通過元素宣告來進行宣告。元素宣告使用下面的語法 或者空元素 只有 pcdata 的元素 常用 只有 pcdata 的元素通過圓括號中的 pcdata 進行宣告 例子 帶有任何內容的元素 例子 帶有子元素 序列 的元素 帶有乙個或多個子元素的元素通過圓括號中的...

DTD 元素概述

dtd 文件型別定義 的作用是定義 xml 文件的合法構建模組。在乙個 dtd 中,元素通過元素宣告來進行宣告。宣告乙個元素 在 dtd 中,xml 元素通過元素宣告來進行宣告。元素宣告使用下面的語法 或 空元素 或 只有 pcdata 的元素只有 pcdata 的元素通過圓括號中的 pcdata ...