xml的語法規矩既很簡略,又很嚴格。這些規矩很輕易學習,也很輕易應用。
正由於如此,創立可讀取及把持xml的軟體不是一件難事。
xml應用一種可自我描寫的簡略的語法。
<?xml version="1.0" encoding="iso-8859-1"?>
tove
jani
reminder
don't forget me this weekend!
此文件中的第一行 - xml宣告 - 定義了xml的版本和文件中應用的字元編碼。在這個例子中,遵照的是xml 1.0規範,並應用了iso-8859-1字符集。
接下來的一行描寫了文件的根元素(就像是在說:「本文件是乙個便簽」):
接下來的4行描寫了根元素的4個子元素(to, from, heading, 以及 body):
tove
jani
reminder
don't forget me this weekend!最後的一行定義了根元素的結尾:
我們可以看到,這個xml文件包含了乙個由jani留給tove的便簽。現在,您應當會批准我們的上述觀點,即xml具有完善的自我描寫特徵。
當應用xml時,省略封閉標籤是非法。
在html中,某些元素不必定要有封閉標籤。在html中下面的**是正當的:
this is a paragraph
this is another paragraph
在xml中,所有的元素都要有封閉標籤:
this is a paragraph
this is another paragraph
注釋:您也許已經從上面的例子中留心到xml宣告沒有封閉標籤。這不是錯誤。宣告不屬於xml本身的組成部分。它不是xml元素,也不需要封閉標籤。
和html不同,xml標籤對大小寫敏感。
在xml中,標籤和標籤是不同的。
所以必需應用雷同的大小寫開啟並封閉標籤:
這是錯誤的。
這是準確的。不準確的標籤巢狀對xml是沒有意義的。
在html中,某些元素可以不準確地彼此巢狀在一起,就像這樣:
this text is bold and italic在xml中,所有的元素必需準確地彼此巢狀,就像這樣:
this text is bold and italic所有的xml必需包含可定義根元素的單一標籤對。
所有其他的元素都必需處於這個根元素內部。
所有的元素均可擁有子元素。子元素必需被準確地巢狀於它們的父元素內部:
.....
在xml中,省略屬性值兩旁的引號是非法的。
和html類似,xml也可擁有屬性(名稱/值的對)。在xml中,xml的屬性值須加引號。請研究下面的兩個xml文件。第乙個是錯誤的,第二個是準確的:
<?xml version="1.0" encoding="iso-8859-1"?>
tove
jani
<?xml version="1.0" encoding="iso-8859-1"?>
tove
jani
在第乙個文件中,日期屬性沒有加引號。這是準確的:date="12/11/2002"。這是錯誤的:date=12/11/2002。
在xml中,空格不會被截掉。
這與html不同。在html中,像這樣的乙個句子:
hello my name is tove,會顯示為這樣:
hello my name is tove,這是由於html會把多個持續的空格字元裁減為乙個。
在xml中,乙個新的行(即換行)被儲存為lf(line feed,換行)。
您熟悉打字機嗎?打字機是上世紀用來製作印刷文件的機械裝置。:-)
當您用打字機鍵進了一行文字後,就需要手動將列印滑架移至左側頁邊空缺的地位,並手動進紙(feed)一行。
在 windows 利用程式中,新行通常儲存為一對字元:回車(cr)和換行(lf)。這個字元對與打字機的設定新行的動作有異曲同工之處。在unix利用程式中,新行通常儲存為lf字元。而macintosh利用程式僅應用cr字元來儲存新行。
在xml中書寫注釋的語法與html的語法類似:
xml沒什麼特別之處。它只是帶有被括在角形括號中的標籤的純文字而已。
可處理純文字檔案的軟體也可以處理xml。在乙個簡略的文字編纂器中,xml標籤也可被顯示出來,不會被特別地看待。
在可辨認xml的(xml-aware)利用程式中,xml標籤會被專門處理。根據不同的利用程式種類,這些標籤也許會/也許不會被看到,又或許擁有某種功效意義。
AAPCS 學習課後練習 通過乙個小例子來講解
一 有個函式有10個引數,請問是引數是如何傳遞的?請畫出壓棧圖 32位 64位 1 首先看arm32 編寫 test.c include int func int v1,int v2,int v3,int v4,int v5,int v6,int v7,int v8,int v9,int p1 in...
通過乙個例子快速上手矩陣求導
第一次遇見矩陣求導,大多數人都是一頭霧水,而搜了維基百科看也還是雲裡霧裡,一堆的名詞和一堆的 到底都是什麼呢?這裡總結了我個人的學習經驗,並且通過乙個例子可以讓你感受如何進行矩陣求導,下次再遇到需要進行矩陣求導的地方就不會措手不及。前提 若 x 為向量,則預設 x為列向量,xt 為行向量 布局簡單地...
通過乙個例子快速上手矩陣求導
第一次遇見矩陣求導,大多數人都是一頭霧水,而搜了維基百科看也還是雲裡霧裡,一堆的名詞和一堆的 到底都是什麼呢?這裡總結了我個人的學習經驗,並且通過乙個例子可以讓你感受如何進行矩陣求導,下次再遇到需要進行矩陣求導的地方就不會措手不及。前提 若 xx 為向量,則預設 xx 為列向量,xtxt 為行向量 ...