淺談xml

XML 被設計用來傳輸和存儲數據。 HTML 被設計用來顯示數據。XML 的設計宗旨是傳輸數據,而非顯示數據,XML 標籤沒有被預約義。您須要自行定義標籤。XML 被設計爲具備自我描述性。XML 是 W3C 的推薦標準.XML 不是 HTML 的替代。XML 和 HTML 爲不一樣的目的而設計:XML 被設計爲傳輸和存儲數據,其焦點是數據的內容。HTML 被設計用來顯示數據,其焦點是數據的外觀。HTML 旨在顯示信息,而 XML 旨在傳輸信息。XML 沒什麼特別的。它僅僅是純文本而已。有能力處理純文本的軟件均可以處理 XML。不過,可以讀懂 XML 的應用程序能夠有針對性地處理 XML 的標籤。標籤的功能性意義依賴於應用程序的特性。XML 沒有預約義的標籤。在 HTML 中使用的標籤(以及 HTML 的結構)是預約義的。HTML 文檔只使用在 HTML 標準中定義過的標籤(好比 <p> 、<h1> 等等)。XML 容許創做者定義本身的標籤和本身的文檔結構。XML 是對 HTML 的補充XML 不會替代 HTML,理解這一點很重要。在大多數 web 應用程序中,XML 用於傳輸數據,而 HTML 用於格式化並顯示數據。對 XML 最好的描述是:XML 是獨立於軟件和硬件的信息傳輸工具。XML 應用於 web 開發的許多方面,經常使用於簡化數據的存儲和共享。若是你須要在 HTML 文檔中顯示動態數據,那麼每當數據改變時將花費大量的時間來編輯 HTML。經過 XML,數據可以存儲在獨立的 XML 文件中。這樣你就能夠專一於使用 HTML 進行佈局和顯示,並確保修改底層數據再也不須要對 HTML 進行任何的改變。經過使用幾行 JavaScript,你就能夠讀取一個外部 XML 文件,而後更新 HTML 中的數據內容。在真實的世界中,計算機系統和數據使用不兼容的格式來存儲數據。XML 數據以純文本格式進行存儲,所以提供了一種獨立於軟件和硬件的數據存儲方法。這讓建立不一樣應用程序能夠共享的數據變得更加容易。 經過 XML,能夠在不兼容的系統之間輕鬆地交換數據。對開發人員來講,其中一項最費時的挑戰一直是在因特網上的不兼容系統之間交換數據。因爲能夠經過各類不兼容的應用程序來讀取數據,以 XML 交換數據下降了這種複雜性。升級到新的系統(硬件或軟件平臺),老是很是費時的。必須轉換大量的數據,不兼容的數據常常會丟失。在 HTML,常常會看到沒有關閉標籤的元素,在 XML 中,省略關閉標籤是非法的。全部元素都必須有關閉標籤:您也許已經注意到 XML 聲明沒有關閉標籤。這不是錯誤。聲明不屬於XML自己的組成部分。它不是 XML 元素,也不須要關閉標籤。XML 元素使用 XML 標籤進行定義。XML 標籤對大小寫敏感。在 XML 中,標籤 <Letter> 與標籤 <letter> 是不一樣的。必須使用相同的大小寫來編寫打開標籤和關閉標籤.在 XML 中,一些字符擁有特殊的意義。若是你把字符 "<" 放在 XML 元素中,會發生錯誤,這是由於解析器會把它看成新元素的開始。爲了不這個錯誤,請用實體引用來代替 "<" 字符: 屬性一般提供不屬於數據組成部分的信息。在下面的例子中,文件類型與數據無關,可是對須要處理這個元素的軟件來講卻很重要:屬性值必須被引號包圍,不過單引號和雙引號都可使用。好比一我的的性別,person 標籤能夠這樣寫:個人經驗是在 HTML 中,屬性用起來很便利,可是在 XML 中,您應該儘可能避免使用屬性。若是信息感受起來很像數據,那麼請使用子元素吧。合法的 XML 文檔是「形式良好」的 XML 文檔,一樣遵照文檔類型定義 (DTD) 的語法規則:
<!DOCTYPE note SYSTEM "Note.dtd">
 DOCTYPE 聲明是對外部 DTD 文件的引用。爲了幫助您檢查 XML 文件的語法,咱們建立了這個工具,以便您對任何 XML 文件進行語法檢查。W3C 的 XML 規範聲明:若是 XML 文檔存在錯誤,那麼程序就不該當繼續處理這個文檔。理由是,XML 軟件應當輕巧,快速,具備良好的兼容性。若是使用 HTML,建立包含大量錯誤的文檔是有可能的(好比你忘記告終束標籤)。其中一個主要的緣由是 HTML 瀏覽器至關臃腫,兼容性也不好,而且它們有本身的方式來肯定當發現錯誤時文檔應該顯示爲何樣子。XSLT 是首選的 XML 樣式表語言。XSLT (eXtensible Stylesheet Language Transformations) 遠比 CSS 更加完善。使用 XSLT 的方法之一是在瀏覽器顯示 XML 文件以前,先把它轉換爲 HTML,正如如下的這些例子演示的那樣 在上例中,XSLT 轉換是由瀏覽器完成的,瀏覽器讀取的是 XML 文件。在使用 XSLT 來轉換 XML 時,不一樣的瀏覽器可能會產生不一樣結果。爲了減小這種問題,能夠在服務器上進行 XSLT 轉換。XMLHttpRequest 對象用於在後臺與服務器交換數據。 全部現代瀏覽器都內建了供讀取和操做 XML 的 XML 解析器。解析器把 XML 轉換爲 XML DOM 對象 - 可經過 JavaScript 操做的對象。解析器把 XML 載入內存,而後把它轉換爲可經過 JavaScript 訪問的 XML DOM 對象。微軟的 XML 解析器與其餘瀏覽器中的解析器之間,存在一些差別。微軟的解析器支持 XML 文件和 XML 字符串(文本)的加載,而其餘瀏覽器使用單獨的解析器。不過,全部的解析器都包含遍歷 XML 樹、訪問插入及刪除節點(元素)及其屬性的函數。XML DOM (XML Document Object Model) 定義了訪問和操做 XML 文檔的標準方法。DOM 把 XML 文檔做爲樹結構來查看。可以經過 DOM 樹來訪問全部元素。能夠修改或刪除它們的內容,並建立新的元素。元素,它們的文本,以及它們的屬性,都被認爲是節點。在 XML 中,元素名稱是由開發者定義的,當兩個不一樣的文檔使用相同的元素名時,就會發生命名衝突.命名衝突不存在了,這是因爲兩個文檔都使用了不一樣的名稱來命名它們的 <table> 元素 (<h:table> 和 <f:table>)。

經過使用前綴,咱們建立了兩種不一樣類型的 <table> 元素。與僅僅使用前綴不一樣,咱們爲 <table> 標籤添加了一個 xmlns 屬性,這樣就爲前綴賦予了一個與某個命名空間相關聯的限定名稱。XML 命名空間屬性被放置於元素的開始標籤之中,並使用如下的語法:當命名空間被定義在元素的開始標籤中時,全部帶有相同前綴的子元素都會與同一個命名空間相關聯。註釋:用於標示命名空間的地址不會被解析器用於查找信息。其唯一的做用是賦予命名空間一個唯一的名稱。不過,不少公司經常會做爲指針來使用命名空間指向實際存在的網頁,這個網頁包含關於命名空間的信息。統一資源標識符是一串能夠標識因特網資源的字符。最經常使用的 URI 是用來標示因特網域名地址的統一資源定位器(URL)。另外一個不那麼經常使用的 URI 是統一資源命名(URN)。在咱們的例子中,咱們僅使用 URL。當開始使用 XSL 時,您不久就會看到實際使用中的命名空間。XSL 樣式表用於將 XML 文檔轉換爲其餘格式,好比 HTML。術語 CDATA 指的是不該由 XML 解析器進行解析的文本數據(Unparsed Character Data) 解析器會忽略 CDATA 部分中的全部內容。XML 文件在 Internet 服務器上進行存儲的方式與 HTML 文件徹底相同。XML 可在不安裝任何 XML 軟件的狀況下在服務器端生成。XML DOM (Document Object Model) 定義了訪問和操做 XML 文檔的標準方法。它是什麼?XML 數據島(XML Data Islands)是嵌入 HTML 頁面中的 XML 數據。爲何要避免使用它?XML 數據島只在 Internet Explorer 瀏覽器中有效。用什麼代替它?您應當在 HTML 中使用 JavaScript 和 XML DOM 來解析並顯示 XML。把 XML 文檔綁定到 HTML 文檔中的一個 <xml> 標籤。id 屬性定義數據島的標識符,而 src 屬性指向 XML 文件:一般,咱們在數據庫中存儲數據。不過,若是但願數據的可移植性更強,咱們能夠把數據存儲 XML 文件中 若是數據要被傳送到非 Windows 平臺上的應用程序,那麼把數據保存在 XML 文件中是有好處的。請記住,XML 有很強的跨平臺可移植性,而且數據無需轉換! web

相關文章
相關標籤/搜索