JavaWeb學習筆記 (一)xml的兩種約束

2021-09-03 01:29:54 字數 1136 閱讀 6124

1.xml約束

通過編寫乙個文件來約束xml文件的內容,以保證xml中內容的規範性。

2.dtd約束

前期採用的一種約束,沒有使用xml規則,相比與schema,語法更為簡練。分為外部匯入和內部嵌入。

(1)外部匯入

建立dtd檔案,一般檔名與要約束的xml檔名相同。(如:用stu.dtd來約束stu.xml檔案)

dtd檔案語法如下:

對於簡單標籤:

pcdata為parse charecter data簡寫。

對於複雜標籤:

寫好dtd檔案後,需要和xml檔案繫結。

語法如下:

對於網路上的dtd檔案:

對於本地上的dtd檔案:

(2)內部嵌入

直接在xml檔案中寫入以下**:

3.schema約束

是為了替代dtd的約束,是一種xml語法,但語法過於複雜,沒有達到最終效果。

對於簡單元素:

(1)xsd檔案中的寫法

< element name = 「簡單元素的名稱」 type = 「簡單元素的型別」> < /element>

對於複雜元素:

< element name = 「複雜元素的名稱」>

< complextype> 這用來表示複雜元素

< sequence>

這裡用來放簡單元素

< /sequence>

< /complextype>

< /element>

(2)與xml檔案繫結

4.兩者的比較

xml schema符合xml語法結構。

dom、sax等xml api很容易解析出xml schema文件中的內容。

xml schema對命名空間支援得非常好。

xml schema比xml dtd支援更多的資料型別,並支援使用者自定義新的資料型別。

xml schema定義約束的能力非常強大,可以對xml例項文件作出細緻的語義限制。

xml schema不能像dtd一樣定義實體,比dtd更複雜,但xml schema現在已是w3c組織的標準,它正逐步取代dtd。

JavaWeb學習筆記 XML 2

dtd約束 對xml檔案進行驗證 1 事例 book.xml 書架 書 書名 書名 作者 作者 售價 售價 書 書架 book.dtd 2 引用 dtd可以在xml檔案內部或寫在.dtd檔案內 引用本地檔案 引用公共檔案 3 語法細節 a 元素定義 b 元素內容 myfile title,autho...

JavaWeb學習筆記 XML 6

獲取第二本書的書名與屬性 public void read string attribute book.element 書名 attributevalue name 在第一本書上新增新售價 本例存在編碼問題 public void add throws exception book.addeleme...

Java Web學習筆記 一

1.html hyper text markup language 超文字標記語言。html的檔案字尾名一般是 htm 或者.html 2.css定義的語法 selecter 1 http是乙個基於請求 響應模式的,無狀態的協議 request response based,stateless pr...