xml(extensible markup language)簡介
xml 可擴充套件標記語言
xml是一種您可以用來建立自己的標記的標記語言。
xml由全球資訊網協會(w3c)建立
xml和html比較
比較內容 html xml
可擴充套件性 不具有擴充套件性 是元標記言,可用於定義新的標記語言
側重點 側重於如何表現資訊 側重於如何結構化地描述資訊
語法要求 不要求標記的巢狀、配對等,不 嚴格要求巢狀、配對,並遵循dtd的樹形結構
要求標記之間具有一定的順序
可讀性及可維護性 難於閱讀、維護 結構清晰,便於閱讀、維護
資料和顯示的關係 內容描述與顯示方式集成為一體 內容描述與顯示方式相分離
編輯及瀏覽工 已有大量的編輯、瀏覽工具 編輯、瀏覽工具
xml優勢
資料重用、資料和表示分離、可擴充套件性、語意資訊
xml 宣告
<?xml version="1.0" encoding="utf-8"?>xml宣告一般是xml文件的第一行
xml宣告由以下幾個部分組成:
version - -文件符合xml1.0規範
encoding - -文件字元編碼,預設為"utf-8"
遵循如下規則的xml文件稱為結構完整:
語法規範
1.必須有xml宣告語句
2.<?xml version="1.0" encoding=「gbk"?>
3.必須有且僅有乙個根元素
4.標記大小寫敏感
5.屬性值用引號
6.標記成對
7.空標記關閉
8.元素正確巢狀
元素語法
1.名稱中可以包含字母、數字或者其它字元
2.名稱不能以數字和"_"(下劃線)開頭
3.不能以xml/xml/xml/…開頭
4.名稱中不能含空格
5.名稱中不能含冒號(注:冒號留給命名空間使用)
文字內容pcdata
xml支援unicde字符集,因此可以在文字中包含字母/數字/標點/符號等。
注意:因為xml使用<,>,和&界定標記,如果在文字中包含有這些字元,必須使用實體替代。
cdata
1.在特殊的標記cdata下,所有的標記、實體引用都被忽略,而被xml處理程式一視同仁地當作字元資料看待。cdata的形式:〈![cdata[文字內容]]〉
2.用於把整段文字解釋為純字元資料而不是標記的情況。包含大量<、>、&或者"字元。cdata節中的所有字元都會被當作元素字元資料的常量部分,而不是xml標記。
3.可以輸入任意字元(除]]>外)
4.不能巢狀使用cdata
cdata與pcdata
pcdata是被解析器解析的文字。文字內的標籤會被當作標記,實體會被展開。
cdata是不被解析器解析的文字。文字內的標籤不會被當作標記,實體不會被展開。
xml注釋
注釋內容中不要出現--;
不要把注釋放在標記中間;
tom注釋不能巢狀;
可以在除標記以外的任何地方放注釋。
xml屬性
1.屬性值用雙引號(")或單引號(')分隔(如果屬性值中有',用"分隔;有",用'分隔)
2.乙個元素可以有多個屬性,它的基本格式為:《元素名 屬性名="屬性值">
3.特定的屬性名稱在同乙個元素標記中只能出現一次
4.屬性值不能包括<, >, &
xml文件中的屬性有兩個規則:
1.屬性必須有值
2.那些值必須用引號括起。您可以使用單引號,也可以使用雙引號,但要始終保持一致。
命名空間---namespace
為xml中的元素設定乙個唯一的標識名稱
與uri結合來定義乙個唯一標識
去除了xml檔案中可能存在的元素名重疊的問題
doctype
文件型別宣告,緊跟xml宣告之後,包含所有實體宣告語法:
<?xml version="1.0"?>實體引用
為了避免把字元資料和標記中需要用到的一些特殊符號相混淆,xml還提供了一些有用的實體引用。
作用:避免重複輸入
自定義實體語法:
引用已定義的實體:&實體名;]>
dtd內部的 doctype 宣告:
假如 dtd 被包含在您的 xml 原始檔中,它應當通過下面的語法包裝在乙個 doctype 宣告中:
(請在 ie5 以及更高的版本開啟,並選擇檢視源**):
<?xml version="1.0"?>以上 dtd 解釋如下:]>
george
john
reminder
don't forget the meeting!
!doctype note (第二行)定義此文件是 note 型別的文件。
!element note (第三行)定義 note 元素有四個元素:"to、from、heading,、body"
!element to (第四行)定義 to 元素為 "#pcdata" 型別
!element from (第五行)定義 frome 元素為 "#pcdata" 型別
!element heading (第六行)定義 heading 元素為 "#pcdata" 型別
!element body (第七行)定義 body 元素為 "#pcdata" 型別
外部文件宣告:
假如 dtd 位於 xml 原始檔的外部,那麼它應通過下面的語法被封裝在乙個 doctype 定義中:
這個 xml 文件和上面的 xml 文件相同,但是擁有乙個外部的 dtd: (在 ie5 中開啟,並選擇「檢視源**」命令。)
<?xml version="1.0"?>宣告乙個元素:george
john
reminder
don't forget the meeting!
在 dtd 中,xml 元素通過元素宣告來進行宣告。元素宣告使用下面的語法:
或者只有 pcdata 的元素通過圓括號中的 #pcdata 進行宣告: 帶有乙個或多個子元素的元素通過圓括號中的子元素名進行宣告: 或者空元素
當子元素按照由逗號分隔開的序列進行宣告時,這些子元素必須按照相同的順序出現在文件中。在乙個完整的宣告中,子元素也必須被宣告,同時子元素也可擁有子元素。
宣告只出現一次的元素:
宣告最少出現一次的元素: 宣告出現零次或多次的元素: 宣告出現零次或一次的元素: 宣告「非.../既...」型別的內容: 上面的例子宣告了:"note" 元素必須包含 "to" 元素、"from" 元素、"header" 元素,以及非 "message" 元素既 "body" 元素。宣告混合型的內容:
上面的例子宣告了:"note" 元素可包含出現零次或多次的 pcdata、"to"、"from"、"header" 或者 "message"。xml schema 簡介
xml schema 是基於 xml 的 dtd 替代者。
xml schema 可描述 xml 文件的結構。
xml schema 語言也可作為 xsd(xml schema definition)來引用。
xml schema 是 dtd 的繼任者
xml schema 相對於 dtd 的優點如下:
xml schema 可針對未來的需求進行擴充套件
xml schema 更完善,功能更強大
xml schema 基於 xml 編寫
xml schema 支援資料型別
xml schema 支援命名空間
下面這個例子是乙個名為 "note.xsd" 的 xml schema 檔案,它定義了下面那個 xml 文件的元素:
<?xml version="1.0"?>對 xml schema 的引用:
<?xml version="1.0"?>george
john
reminder
don't forget the meeting!
j2ee系列複習 servlet原理
servlet簡介 1 servlet沒有main方法。2 servlet執行在服務端,建立和銷毀都是由servlet容器管理,例如tomcat容器。3 servlet和http有緊密聯絡,可以實現http操作的處理。servlet處理流程 1客戶端瀏覽器傳送http請求到tomcat webser...
j2ee自學心得
學習是一件快樂的事,學習是一件痛苦的事,它讓你能夠把學到的東西帶來財富,它也能讓你仁慈學到的東西帶來無用武之地 看書 當你買了一本新書的時候,不要瀑布式的往下看,這是傳統的學習方法,不適合 現代高科技社會的學習方法,尤其是電腦科學,為什麼以前的瀑布式軟體開發方法到 今天會失敗,因為瀑布式的方法很難看...
j2ee配置指南
j2ee配置指南 1。介紹 本文介紹j2ee環境的配置,所有涉及的檔案都在j2ee安裝目錄下的oncfig目錄,這些檔案都是文字檔案,你可以有任意的文字編輯器來編輯它們。通常情況下,你沒有改變這些檔案的必要。但是如果你使用的資料庫驅動不是cloudscape的時候,你需要 遵循本章的內容進行配置。2...