XML,schema,dtd檔案結構

2021-07-28 02:33:03 字數 2660 閱讀 2019

<?xml version="1.0" encoding="utf-8"?>

這說明xml的版本是1.0 ,用的是utf-8的編碼格式,版本我們一直都是用1.0版的,這個編碼格式你應該根據具體情況改。

我們知道xml是可以定義自己的標籤的,那摩我們在寫框架時使用標籤為什麼會有限制呢?那是因為檔案中引入了約束檔案,基本上都是引入.dtd檔案和schema檔案

<?xml version="1.0" encoding="utf-8"?>		

]>

好了有了約束檔案我們只能按照他們限定的標準來寫了,如果不符合其標準會報錯的額。

讓我們來看看這個dtd檔案的書寫方法吧!

在dtd文件中使用element關鍵字來宣告乙個xml元素。

語法:使用規則:

(#pcdata):指示元素的主體內容只能是普通的文字.(parsed character data)

empty:用於指示元素的主體為空。比如

any:用於指示元素的主體內容為任意型別。

(子元素):指示元素中包含的子元素

定義子元素及描述它們的關係:

如果子元素用逗號分開,說明必須按照宣告順序去編寫xml文件。

如: 用+、*、?來表示元素出現的次數

+:表示至少出現一次,一次或多次

*:表示可有可無,零次、一次或多次

?:表示可以有也可以無,有的話只能有一次。零次或一次

在dtd文件中使用attlist關鍵字來宣告屬性

語法:屬性名  屬性型別  約束

屬性名  屬性型別  約束

..........

>

屬性值型別:

cdata:表示屬性的取值為普通的文字字串

enumerated (dtd沒有此關鍵字):表示列舉,只能從列舉列表中任選其一,如(雞肉|牛肉|豬肉|魚肉)

id:表示屬性的取值不能重複,屬性的值只能由字母,下劃線開始,不能出現空白字元

屬性約束設定說明

#required:表示該屬性必須出現

#implied:表示該屬性可有可無

#fixed:表示屬性的取值為乙個固定值。語法:#fixed "固定值"

直接值:表示屬性的取值為該預設值

<?xml version = "1.0" encoding="gb2312" standalone="yes"?>

]>

《購物籃》

《肉 品種="魚肉"/>

《肉 品種="牛肉"/>

《肉/>

這個不常用我就不提了,主要是懶得打字了!

第二種約束xml schema是用一套預先規定的xml元素和屬性建立的,這些元素和屬性定義了xml文件的結構和內容模式。 xml schema規定xml文件例項的結構和每個元素/屬性的資料型別方式叫做schema約束,xml schema 也是一種用於定義和描述 xml 文件結構與內容的模式語言,其出現是為了克服 dtd 的侷限性。

xml schema 檔案自身就是乙個xml檔案,但它的副檔名通常為.xsd

和xml檔案一樣,乙個xml schema文件也必須有乙個根結點,但這個根結點的名稱為schema

好了,我們就來看看schema是如何在xml中是用的吧!

<?xml version="1.0" encoding="utf-8"?>

第一行的**不用說了,我們都知道了,既然schema本身就是乙個xml檔案所以也就遵循xml檔案的約束嘍!

第二行用來宣告該檔案是乙個schema約束檔案

第三行是用來被引用時作為命名空間來使用的

第四行宣告這個schema約束是格式良好的

好了,我們現在宣告了乙個schema約束檔案,那麼如何在乙個xml中引入約束檔案呢?

注意class可不是別的而是我定義的根標籤,第一行**宣告這是乙個schema例項,注意xmlns:xsi是為了和下面xmlns起衝突而進行的別名命名,

第二行**是引入我們的targetnamespace

第三行**的格式為xsi:schemalocation=" namespace填寫targetnamespace 空格 location填寫檔案路徑

好了我們已經會如何宣告和引入schema約束檔案了,在讓我們來學習一下如何進行schema檔案具體內容的編寫吧!

好了那摩我們需要怎麼來確定父子元素的關係呢?

這就得用到xmlschema複雜元素指示器了

all:表示只能出現一次 

choice: 只能出現其中的乙個

sequence:元素按照順序出現 

maxoccurs=「unbounded」 表示出現次數沒限制  

定義屬性(必須是複雜元素):

:表示任意元素

好了讓我們來看乙個案例吧

<?xml version="1.0" encoding="utf-8"?>

王五16

<?xml version="1.0" encoding="utf-8"?>

Mybatis Config主配置檔案的結構

別名 基礎環境配置 對映檔案配置 configuration 宣告在標籤裡面的資訊是配置資訊。typealiase 宣告使用別名物件,並填寫別名物件的全路徑。environments 宣告該標籤內的環境變數,乙個environment表示乙個jdbc連線資料庫,如果有多個資料庫的話,我們就要用到不同...

Windows中匯出電腦檔名或者檔案結構的方法

方法一 使用dos命令 windows的命令提示符可以就地取材,根據不同的要求,使用的dos命令也不同 1.獲得資料夾內所有檔案列表 這個要求比較簡單,直接使用 dir s lb.txt 命令就可以了,dir 命令可以指定要列出的驅動器 目錄或檔案,s 可以顯示指定目錄和所有子目錄中的檔案,lb.t...

Windows中匯出電腦檔名或者檔案結構的方法

方法一 使用dos命令 windows的命令提示符可以就地取材,根據不同的要求,使用的dos命令也不同 1.獲得資料夾內所有檔案列表 這個要求比較簡單,直接使用 dir s lb.txt 命令就可以了,dir 命令可以指定要列出的驅動器 目錄或檔案,s 可以顯示指定目錄和所有子目錄中的檔案,lb.t...