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...