XML相關知識總結(1)
(包括XML基礎、XML Schema、XPath)
----wzhj132
1.XML基礎:
1.1 概述:
用來描述數據的,存放的是文本。
1.2 例子解釋:
比如A和B的數據庫標準不一樣,不能互相訪問,如果是利用XML來存放數據,即A的數據放在XML中,B也是,就可以互相讀取訪問了。
1.3 代碼例子:
<?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>
<date >2004-03-11</date>
</note>
1.4 XML基礎相關知識體系
主要包括:基本概念、基礎語法、XML解析、XML命名空間、XML編碼
1.4.1 基本概念
Ø 後綴名:.xml
Ø 樹結構:XML文檔是一種樹的結構,如下圖:
樹結構就可以利用javascript的相關函數調用其中的元素進行解析。在XML DOM技術中會詳細介紹樹的應用。
對應的XML文檔:
<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>
<author>J K. Rowling</author>
<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>
Ø 元素:指的是從(且包括)開始標籤直到(且包括)結束標籤的部分。
Ø 屬性:提供關於元素的額外(附加)信息。
1.4.2 基礎語法
Ø XML 文檔必須有根元素
Ø XML 文檔必須有關閉標籤
Ø XML 標籤對大小寫敏感
Ø XML 元素必須被正確的嵌套
Ø XML 屬性必須加引號
Ø 實體引用
< < 小於
> > 大於
& & 和號
' ' 單引號
" " 引號
Ø XML 中的註釋:<!-- This is a comment -->
Ø 在 XML 中,空格會被保留
Ø 命名規則:
名稱可以含字母、數字以及其他的字符
名稱不能以數字或者標點符號開始
名稱不能以字符 “xml”(或者 XML、Xml)開始
名稱不能包含空格
1.4.3 XML解析
Ø 解析過程:瀏覽器都有讀取和操作 XML 的內建 XML 解析器。解析器把 XML 載入內存,然後把它轉換爲可通過 JavaScript 訪問的 XML DOM 對象。
Ø XML DOM:
DOM (Document Object Model,文檔對象模型)定義了訪問和操作文檔的標準方法。
XML DOM (XML Document Object Model) 定義了訪問和操作 XML 文檔的標準方法。
DOM 把 XML 文檔作爲樹結構來查看。能夠通過 DOM 樹來訪問所有元素。可以修改或刪除它們的內容,並創建新的元素。元素,它們的文本,以及它們的屬性,都被認爲是節點。
Ø 關於XML DOM,參考:http://www.w3school.com.cn/xmldom/index.asp
Ø 解析分爲解析XML文件和解析XML字符串。
1.4.4 XML命名空間
Ø 使用命名空間來避免衝突:
xmlns:namespace-prefix="namespaceURI"
默認的命名空間:
xmlns="namespaceURI"
例子:
<f:table xmlns:f="http://www.w3school.com.cn/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
1.4.5 XML編碼
Ø 爲了避免錯誤,需要規定 XML 編碼,或者將 XML 文檔存爲 Unicode。
Ø 文件編碼屬性指定:
<?xml version="1.0" encoding="windows-1252"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>
......
1.5 學習資源
基礎材料:
① W3C在線教程:http://www.w3school.com.cn/xml/xml_intro.asp
② XML規範:http://www.w3.org/TR/2008/REC-xml-20081126/
③ XML規範加註解:http://www.xml.com/axml/testaxml.htm
擴展閱讀:
④ XML深入(IBM專題):http://www.ibm.com/developerworks/cn/xml/x-stand1/
1.6 XML相關技術
序號 |
名稱 |
簡要介紹 |
1 |
XML |
描述數據的格式 |
2 |
XML Schema |
約束數據的類型 |
3-5 |
XSL |
顯示XML文檔(轉換信息和格式化信息) |
3 |
XSL--XSLT |
轉換XML文檔 |
4 |
XSL--FO |
格式化XML文檔 |
5 |
XSL--XPath |
在XML文檔導航 |
6 |
XQuery |
查詢 XML 數據(在Xpath之上) |
7 |
XLink |
在XML文檔創建超級鏈接 |
8 |
XPointer |
允許超級鏈接指向 XML 文檔中的更多部分 |
9 |
XForms |
下一代HTML表單 |
10 |
XML DOM |
訪問和處理XML文檔的標準方法 |