曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
前兩個例子中,如果開頭字母是下劃線(例如,“_ 4 2 b o o k”、“_ x m l”或“ _ X M L”),這些命名
就成為合法的了。
現在我們知道了如何按照X M L語法正確地命名,下面來看一看如何使用它們。
2.2 文檔部分
一個格式正規的X M L文檔由三個部分組成(參見圖2 - 2):
• 一個可選的序言(p r o l o g)。
• 文檔的主體( b o d y),由一個或多個元素組成,其形式為一個可能也包含字符數據
(character data)的層次樹。
• 可選的“魚龍混雜”的尾聲(e p i l o g),其內容包括注釋、處理指令( processing instruction,
P I)和/或緊跟元素樹后面的空白。
詳細信息我們很快就會談到。
既然數據對象即使沒有序言和/或尾聲也可以是格式正規的X M L,我們暫時不考慮這些部分
的細節,直到我們已經介紹完所有重要的中間部分—元素和字符數據。
22使用XML 高級編程
下載
圖2-2
2.3 元素
元素是X M L標記的基本組成部分。它們可以包含其他的元素、字符數據、字符引用、實體
引用、P I、注釋和/或C D ATA部分—這些合在一起被稱作元素內容( element content)。(不用
擔心這些術語都是什么意思,接下來我們會進行解釋。要注意這些元素都是包容器。)所有的
X M L數據(除了注釋、P I和空白)都必須包容在其他元素中。
元素使用標記( t a g)進行分隔—由一對尖括號(“< >”)圍住元素類型名(一個字符串)。
每一個元素都必須由一個起始標記和一個結束標記分隔開,這與要求比較松的H T M L不同,后者
的結束標記可以省略。這項規則唯一的例外是沒有任何內容的元素,即空元素( empty element),
它既可以使用起始標記/結束標記對,也可以使用短小精悍的混合形式—空元素標記。在下面
的章節里,我們會看到許多標記的例子。
元素是XML對內容的包容器—它可以包容字符數據、其他元素以及/或其他標記(注釋、
P I、實體引用等等)。既然元素代表的是一些離散的對象,我們可以把它們看作是X M L語
第2章XML 語法使用23
下載
文檔
序言
主體
尾聲
言中的名詞。
下面我們看一看這些標記的細節信息。
2.3.1 起始標記
一個元素開始的分隔符被稱作起始標記。起始標記是一個包含在尖括號里的元素類型名。
我們也可以把起始標記看作是“打開”了一個元素,就像我們打開一個文件或通信鏈路一樣。
下面是一些合法的起始標記:
再次強調,由于X M L是大小寫敏感的,所以前兩個例子不是等同的標記;而且,元素類型
名可以使用任何合法字母,而不一定是A S C I I碼字符。
2.3.2 結束標記
一個元素最后的分隔符被稱作結束標記。結束標記由一個反斜杠和元素類型名組成,被圍
在一對尖括號中。每一個結束標記都必須與一個起始標記相匹配,我們可以把結束標記理解為
關閉了一個由起始標記打開的元素。
下面是一些合法的結束標記,它們與前面列舉的起始標記相對應:
所以,帶有完整的起始、結束標記的元素應該是如下形式:
<某個標記> 包含的內容< /某個標記>
下面我們簡單地了解一下沒有內容的元素。
2.3.3 空元素標記
空元素可能不包含任何內容。比如說想準確地指明文檔中的某些特定位置(下一節將看到
這樣的例子)。我們可以只加入起始標記和結束標記而不在其中包含任何內容:
當然,如果你只是想指定一個點,而不是提供一個包容器,節省些空間可能會更好。所以,
X M L指定空元素可以用縮略形式表示,它是起始和結束標記的混合體。它既短小精悍,而且還
能明確指出該元素既不會有內容,也不允許有內容。
空元素標記由一個元素類型名稱緊跟一個反斜杠組成,并圍在一對尖括號中。
X M L數據對象可能只包含單個文檔元素和一些空元素(可能有屬性)!這樣的文件可以用
24使用XML 高級編程
下載
于包含程序的配置信息或者C + +對象模板。
2.3.4 標記:一個簡單的例子
任何簡單的A S C I I文本文件都是非常奇妙的包容器(文件),其中有一系列更小的包容器
(文本行),而其中又順序排列著字母。從另一種意義上說,文件的物理存在也包容在它的父文
件系統中。但是,在沒有一個明確表示“文件開始”的分隔符的同時,文件結束位置經常用一
個特殊控制字母標記出來(例如“ C t r l - Z”或它的十六進制值“ 1 A”)。文本行隱含的開始位置是
它的父文件的物理起始處,但每一個文本行都有一個用回車和/或換行符表示的“行結尾”的分
隔符。
例如,下面是一個基本的A S C I I碼文件(注意:行號并不是文件內容的一部分):
程序清單2 - 1
當同樣的文本用X M L文檔表示時,原本含糊不清的數據結構現在變得清晰明確了(再次說
明,這里的行號并不是文檔的一部分):
程序清單2 - 2
在這個例子中,我們顯式地表示出整個文件內容的開始和結尾(第1行和第8行),里面每一
個文本行的起始和結束,并包含一個文件尾的標記(第7行)。這是一個表述清晰、可驗證的結
構,它由7個元素(其中一個包含其他6個)組成,這些元素用三個不同的元素類型表示
(< t e x t f i l e >、< l i n e >和< E O F / >)。
現在,我們已經知道了元素類型名稱的要求以及如何將標記應用在元素中,下面讓我們先
暫時停止對元素的討論,看一看X M L文檔的結構。
2.3.5 文檔元素
格式正規的X M L文檔的定義形式是一個簡單的層次樹,每個文檔都有一個,而且只有一個
根節點,它被稱作文檔實體( document entity)或文檔根( document root)。這個節點可能包含
P I和/或注釋,而且總是包含子元素樹,它們的根被稱作文檔元素( document element)。這個元
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(11)