xml基礎知識代碼javascript
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN"><!-- 在這裏嚴的發生格須要標籤須要關閉,避免不安全事件-->
<title lang="en">Harry Potter</title> <!-- xml中嚴格區分大小寫-->
<author>J K. Rowling</author> <!--xml中必須嚴格按照順序進行關閉標籤-->
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
<!--------------------------------------------------------------->
<!--在xml中必需要有根目錄-->
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
<!--在這裏root是根目錄-->
<!--------------------------------------------------------------->
<!--XML 的屬性值須加引號 與 HTML 相似,XML 也可擁有屬性(名稱/值的對)。 在 XML 中,XML 的屬性值須加引號。請研究下面的兩個 XML 文檔。 第一個是錯誤的,第二個是正確的.-->
<note date="08/08/2010"><!--屬性值必須加雙引號-->
<to>Victor</to>
<from>Qiqing</from>
<date>you must remember open the door</date>
</note>
<!--這是正確的-->
<!-- <note date =08/08/2010> </note>例如這樣的例子是錯誤的 -->
<!--實體引用 在 XML 中,一些字符擁有特殊的意義。 若是你把字符 "<" 放在 XML 元素中,會發生錯誤,這是由於解析器會把它看成新元素的開始。 這樣會產生 XML 錯誤:-->
<!--<message>if salary<1000 </message> <!--這樣的例子則是錯誤的---->
<message> if salary < 10000</message>
<!--在XML中有五個預約義的實體引用 < < 小於 > > 大於 & & 和號 ' ' 單引號 " " 引號 並且在XML中在 XML 中,空格會被保留 -->
<!-- XML 以 LF 存儲換行 在 Windows 應用程序中,換行一般以一對字符來存儲: 回車符 (CR) 和換行符 (LF)。 這對字符與打字機設置新行的動做有類似之處。 在 Unix 應用程序中,新行以 LF 字符存儲。 而 Macintosh 應用程序使用 CR 來存儲新行。 -->
<!--XML文檔中包含XML元素 XML元素指的是從開始標籤直到結束標籤的部分。 元素包含其餘元素、文本或者二者的混合物。 元素也能夠擁有屬性 -->
<bookstore>
<book category ="CHILDREN">
<title>Harry Potter</title>
<author>J K.Rowlling</author>
<year>2005</year>
<price> 29.99</price>
</book>
</bookstore>
<!-- <book> 元素擁有屬性 (category="CHILDREN")。 XML 命名規則 XML 元素必須遵循如下命名規則: 名稱能夠含字母、數字以及其餘的字符 名稱不能以數字或者標點符號開始 名稱不能以字符 「xml」(或者 XML、Xml)開始 名稱不能包含空格 可以使用任何名稱,沒有保留的字詞。 最佳命名習慣 使名稱具備描述性。使用下劃線的名稱也很不錯。 名稱應當比較簡短,好比:<book_title>,而不是:<the_title_of_the_book>。 避免 "-" 字符。若是您按照這樣的方式進行命名:"first-name",一些軟件會認爲你須要提取第一個單詞。 避免 "." 字符。若是您按照這樣的方式進行命名:"first.name",一些軟件會認爲 "name" 是對象 "first" 的屬性。 避免 ":" 字符。冒號會被轉換爲命名空間來使用(稍後介紹)。 XML 文檔常常有一個對應的數據庫,其中的字段會對應 XML 文檔中的元素。有一個實用的經驗,即便用數據庫的名稱規則來命名 XML 文檔中的元素。 非英語的字母好比 éòá 也是合法的 XML 元素名,不過須要留意當軟件開發商不支持這些字符時可能出現的問題。 -->
<!-- XML 元素是可擴展的 XML 元素是可擴展,以攜帶更多的信息。 請看下面這個 XML 例子: <note> <to>George</to> <from>John</from> <body>Don't forget the meeting!</body> </note> 讓咱們設想一下,咱們建立了一個應用程序,可將 <to>、<from> 以及 <body> 元素提取出來,併產生如下的輸出: MESSAGE To: George From: John Don't forget the meeting! 想象一下,以後這個 XML 文檔做者又向這個文檔添加了一些額外的信息: <note> <date>2008-08-08</date> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> 那麼這個應用程序會中斷或崩潰嗎? 不會。這個應用程序仍然能夠找到 XML 文檔中的 <to>、<from> 以及 <body> 元素,併產生一樣的輸出。 XML 的優點之一,就是能夠常常在不中斷應用程序的狀況進行擴展。 -->
<!-- XML 元素 vs. 屬性 請看這些例子: <person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> <person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> 在第一個例子中,sex 是一個屬性。 在第二個例子中,sex 則是一個子元素。 兩個例子都可提供相同的信息。 沒有什麼規矩能夠告訴咱們何時該使用屬性,而何時該使用子元素。 個人經驗是在 HTML 中,屬性用起來很便利,可是在 XML 中,您應該儘可能避免使用屬性。 若是信息感受起來很像數據,那麼請使用子元素吧。 -->
<note>
<date>
<day>08</day>
<month>08</month>
<year>2008</year>
</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<!--儘可能將文本數據內容元素化。讓內容更容易提取出來 避免 XML 屬性? 因使用屬性而引發的一些問題: 屬性沒法包含多重的值(元素能夠) 屬性沒法描述樹結構(元素能夠) 屬性不易擴展(爲將來的變化) 屬性難以閱讀和維護 請儘可能使用元素來描述數據。而僅僅使用屬性來提供與數據無關的信息。 不要作這樣的蠢事(這不是 XML 應該被使用的方式): -->
<messages>
<note id="501">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<note id="502">
<to>John</to>
<from>George</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>
<!-- 有時候會向元素分配 ID 引用。 這些 ID 索引可用於標識 XML 元素.它起做用的方式與 HTML 中 ID 屬性是同樣的。 ID 僅僅是一個標識符,用於標識不一樣的便籤。 它並非便籤數據的組成部分。 在此咱們極力向您傳遞的理念是: 元數據(有關數據的數據)應當存儲爲屬性,而數據自己應當存儲爲元素。 -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<!-- 形式良好的 XML 文檔 「形式良好」或「結構良好」的 XML 文檔擁有正確的語法。 「形式良好」(Well Formed)的 XML 文檔會遵照前幾章介紹過的 XML 語法規則: XML 文檔必須有根元素 XML 文檔必須有關閉標籤 XML 標籤對大小寫敏感 XML 元素必須被正確的嵌套 XML 屬性必須加引號 -->
<!--XML 錯誤會終止您的程序 XML 文檔中的錯誤會終止你的 XML 程序。 W3C 的 XML 規範聲明:若是 XML 文檔存在錯誤,那麼程序就不該當繼續處理這個文檔。理由是,XML 軟件應當輕巧,快速,具備良好的兼容性。 若是使用 HTML,建立包含大量錯誤的文檔是有可能的(好比你忘記告終束標籤)。其中一個主要的緣由是 HTML 瀏覽器至關臃腫,兼容性也不好,而且它們有本身的方式來肯定當發現錯誤時文檔應該顯示爲何樣子。 使用 XML 時,這種狀況不該當存在。 -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<!--命名空間的實際應用 當開始使用 XSL 時,您不久就會看到實際使用中的命名空間。 XSL 樣式表用於將 XML 文檔轉換爲其餘格式,好比 HTML。 若是您仔細觀察下面的這個 XSL 文檔,就會看到大多數的標籤是HTML標籤。 非 HTML 的標籤都有前綴 xsl,並由此命名空間標示:"http://www.w3.org/1999/XSL/Transform": -->
<!-- CDATA 術語 CDATA 指的是不該由 XML 解析器進行解析的文本數據(Unparsed Character Data)。 在 XML 元素中,"<" 和 "&" 是非法的。 "<" 會產生錯誤,由於解析器會把該字符解釋爲新元素的開始。 "&" 也會產生錯誤,由於解析器會把該字符解釋爲字符實體的開始。 某些文本,好比 JavaScript 代碼,包含大量 "<" 或 "&" 字符。爲了不錯誤,能夠將腳本代碼定義爲 CDATA。 CDATA 部分中的全部內容都會被解析器忽略。 CDATA 部分由 "<![CDATA[" 開始,由 "]]>" 結束: 解析器會忽略 CDATA 部分中的全部內容。 -->
<script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> </script>
<!--關於 CDATA 部分的註釋: CDATA 部分不能包含字符串 "]]>"。也不容許嵌套的 CDATA 部分。 標記 CDATA 部分結尾的 "]]>" 不能包含空格或折行。 -->