XML 文檔的組成css
一個XML文檔由兩部分構成:第一部分是文檔序言,第二部分是文檔元素(節點)。瀏覽器
1.文檔序言編碼
文檔序言一般位於XML文檔的頂端,根元素以前出現,它是一個特定的包含XML 文檔設定信息的部分。XML 文檔序言由以下幾個部分組成:spa
2.文檔元素code
XML 文檔元素造成的是一個樹狀結構,所以文檔元素也被稱爲根元素。根元素包含了文檔的全部其餘元素和數據內容。xml
XML 文檔的聲明blog
XML 文檔聲明是爲XML 解析器進行文檔處理時提供相關信息的一個很小的配置信息集合。每個XML 文檔應當包含一個XML 聲明,而且XML 聲明必須放在文檔的第一行。XML 聲明的語法格式以下所示:教程
<?xml 屬性1 屬性2 ... ?>
XML 聲明中包括三個屬性,每一個屬性設置的具體形式爲:屬性名稱="屬性值"。其中屬性值須要是使用雙引號或者單引號括起來,多個屬性之間使用空格進行分隔。XML 聲明中的三個屬性的名稱分別是:version、encoding和standalone。文檔
1.versionio
version屬性用來聲明XML 文檔所遵循的XML 標準版本。如今一般狀況下該屬性的值都是1.0,儘管 XML 1.1 已經稱爲 W3C 的推薦標準,可是大部分的 XML 解析器仍是採用 XML 1.0 標準。version 是 XML 聲明中必須包含的一個屬性。
2.encoding
encoding 屬性用來告訴 XML 解析程序當前 XML 文檔使用什麼樣的字符編碼。該屬性是可選的。當 XML 聲明中沒有明確給出字符編碼方式時,XML 解析程序將默認爲 XML 文檔採用的是 UTF-8 字符編碼。
3.standalone
standalone 屬性定義了是否能夠在不讀取任何其餘文件的狀況下處理該文檔。例如,XML 文檔沒有引用任何其餘文件,則能夠指定屬性值爲 yes。若是 XML 文檔引用其餘描述該文檔能夠包含的文件,則能夠指定屬性值爲 no。由於 no 是 standalone 屬性默認的屬性值,因此較少會在 XML 聲明中看到 standalone 屬性。
須要注意的是,若是同時設置了 encoding 和 standalone 屬性,standalone 屬性必須位於 encoding 屬性以後。
XML 文檔的處理指令
XML 的處理指令簡稱PI(Processing Instruction),其用途是爲XML 解析器提供傳送給應用程序或腳本程序的信息,也能夠利用處理指令來指定應用程序處理或顯示文檔的方式。XML 文檔開頭的聲明語句就是處理指令的一個特例。
處理指令通常具備下列語法格式:
<? 目標程序名 指令 ?>
」目標程序名「是指指令被引導到的處理軟件或腳本程序的名字,須要注意大寫字母或小寫字母的 xml、xsl 等名稱都已被保留,不能再做爲其餘處理軟件或腳本程序的名字;「指令」是被傳送處處理軟件或腳本程序的信息,可由除了「?>」字符以外的任何連續字符組成。
能夠在 XML 文檔中使用的特殊處理指令是根據文檔的解析器來決定的。若是使用IE瀏覽器做爲 XML 解析器,則可以使用標準處理指令來高速 IE 瀏覽器如何處理或顯示文檔。
例如,下面的代碼指定了一個到 CSS 樣式表的引用:
<?xml-stylesheet type="text/css" href="mystyle.css" ?>
處理指令中的第一項是一個名字,稱爲指令的目標。上面的名字是「xml-stylesheet」。以xml開頭的名字被保留爲 XML 專用的處理名字。後面的指令告訴 IE 瀏覽器使用 mystyle.css 的層疊樣式表來顯示該文檔。
能夠將處理指令添加到 XML 文檔中的任何地方,便可將處理指令放置在文檔的序言中,也可放置在元素的內容中。此外,在須要時還能夠將處理指令放置在文檔類型定義(DTD)中,只要處理指令不是放在 DTD 文檔的標記之中便可。
參考:
《XML 實用教程》 陳做聰、蘇靜、王龍等編著