本書完整介紹XML的特性,包含標示語言的基礎、語法、結構定義,與相關延伸的技術,涵蓋資料設計、儲存、管理、交換、圖形繪製、程式設計等,具備實務應用所需的知識範疇與技能。為了方便理解與學習這些內容,本書使用深入淺出的說明,結合豐富而典型的範例,並搭配軟體工具的操作介紹,來輔助學習的效果。
適用對象:
本書適合網站設計與程式設計人員的自學用書,也適合作為跨平台資料處理與交換之系統分析工程師的參考手冊,更是適合教授資訊組織與資訊傳播相關課程的教科書。透過本書學習XML,了解資料匯流的處理標準與運作原理,提供未來在實務上採用的解決方案。
作者簡介:
余顯強
學歷:
交通大學資訊管理博士
現職:
世新大學資訊傳播學系教授
曾任:
輔仁大學圖書資訊學系講師、助理教授
鼎盛公司資深專員
汶康電腦(國際銳浩)公司經理
所羅門企業處長
具有20多年資訊系統設計與開發,以及十餘年教學的經驗。專長於資料庫應用、數位典藏、資訊組織與傳播、資訊管理、智慧卡應用等。
章節試閱
XML是由全球資訊網聯盟(World Wild Web Consortium,W3C,網址:www.w3.org)所制定的標示語言規範。W3C發行它自己的規範(specification),通常並不直接稱為標準,因為W3C並不是一個政府組織,不過因為W3C是全球資訊網(World Wide Web)的最主要協定規範者,所以當某一技術規範通過W3C而成為建議時,便可以視為全球資訊網的國際標準。W3C公布相關技術規範的文件分成四種不同的等級:
" 註解(Note):由W3C會員組織提交到W3C的技術規格,尚未成為正式W3C規範之前,W3C會先以「註解」形式發布此一規格,提供各界討論參考。
" 工作草案(Working draft):工作草案代表已經是被W3C考慮中的技術規格,這一階段可以說是成為W3C最終建議的第一階段。
" 候選建議(Candidate recommendation):當某一工作草案被W3C接受後,該規範的技術文件即成為候選建議。
" 建議(Recommendation):當某一候選建議被W3C接受後,該規範即成為W3C建議。之所以會使用「建議」一詞,當然一方面是因為W3C並非官方機構,另一方面W3C並無強制要求所以業者遵循的「手段」,只能透過公開發表,建議各方業者採納使用。
【說明】
Internet與web這兩個名詞常常被混淆,其實這兩個名詞的意義完全不同:
全球資訊網(internet):是網路與網路之間,以TCP/IP協議相互連接,形成單一巨大的網路。簡單的講,internet是以TCP/IP協定網網相連的大網路環境。在這個網路環境上提供許多服務,例如檔案傳輸FTP、網域名稱DNS、郵件送收SMTP與POP3、遠端登入Telnet…等服務。當然,通常簡稱為Web的全球資訊網(World Wild Web)也是internet上的一個服務。只是Web因為功能越來越多,應用越來越廣,所以常常會有internet = web的誤解。
XML 1.0版本於1998年2月10日通過並成為W3C的建議,也就表示XML已經成為全球資訊網確定的標準,您可以在網址http://www.w3.org/TR/REC-xml/取得XML正式的建議書內容。目前XML最新的版本1.1是在2004年2月4日通過成為建議,您可以在網址http://www.w3.org/TR/xml11/取得相關的說明文件。XML 1.1版主要是修正XML一些錯誤(主要是一些使用規則上的問題),並更強化Unicode字碼的支援。整體而言,1.0與1.1差異並不大,所以現有XML文件幾乎都還是標示為1.0的版本。
首先在開始本書正式的章節之前,以下先以精簡的方式快速了解XML主要的一些概念:
1. XML全稱是什麼?
XML是一個縮寫字,其全名為「可延伸標示語言」(eXtensible Markup
Language)。
Extensible中文也有翻譯成「可擴展」、「延伸式」、「延展式」,都是表示XML可延伸擴充的特性,而markup則有翻譯為標示或標記,因國內Markup Language多翻譯為標示語言,且依據國家標準(Chinese National Standards,CNS)採用「可延伸標示語言」一詞,作為本書使用的中文名稱。
2. XML能做什麼?
XML並不是一個程式語言,就像HTML一樣,XML本身並不能獨立做任何事情,XML只是提供了描述、紀錄、處理和發行資訊的標準方法,簡單講就是用來裝載「資料」的文件規範。它有許多強大的應用,例如達成(超越)像HTML在網頁呈現的效果、資料管理與交換的功能、遠端程式呼叫的封裝技術等等,都必須搭配其他相關的延伸技術或是軟體工具。
實際上,XML搭配了相關的技術能做到什麼?這就很難說了,舉個例子,企業整合早期各種不同的資訊系統(legacy system)達成企業資訊整合(Enterprise Application Integration,EAI)核心方法就是利用XML作為訊息交換;異質系統間的遠端程序呼叫(Remote Procedure Call,RPC)在開發上一直都很複雜,無論是DCOM或CORBA元件技術,都有很高的技術門檻或跨平臺問題。但是透過XML封裝訊息的技術,也就是Web Services的「簡易物件存取協定」(Simple Object Access Protocol,SOAP)即可簡化許多開發複雜度,還可使用以XML描述之通用描述、 搜尋及整合(Universal Description, Discovery, and Integration,UDDI)的註冊機制,讓系統自動發現全球各地提供服務的來源;許多的文書處理軟體(包括微軟的Word)核心都已經使用XML來處理資料;新版本的XHTML也是XML,甚至前幾年手機上熱門的WAP也是使用XML所制定的WML實現跨電信系統達成簡訊內容傳遞與解碼的交換需求;當然還有用來發布和聚集網頁內容的Really Simple Syndication(RSS)、政府公開資訊…等,也都是使用XML而實現的應用。
3. XML是否很複雜?
完全不會。不過前面提到XML必須搭配一些延伸的技術才能發揮它的效果,所以要學的不只XML本身,您還需要依據個人所需面對的應用層面,學習搭配這些技術。
4. 什麼是標示語言?
標示(Markup)是在資料或文件上加上的記號,以區隔各種不同資訊的意義。除了文書處理器必須標示文章中文字的段落、字型、大小、縮排等註記的方式;早期在電腦中處理中文字碼的方式,無論是採用Leading byte或Shift-in/shift-out模式,都必須在字碼前加上一控制碼告訴電腦這是中文還是非中文。這些以「特定符號」來提供電腦辨識如何處理資料的方式,就稱為「標示」;而這些「特定符號」在標示語言裡,就稱為「標籤」(Tag)。
5. 所以XML只是另一個標示語言?
如果將XML只視為另一個標示語言是非常嚴重的誤解。大部分的標示語言,包括HTML都是「固定式」的標示語言。也就是說,這些標示語言的標籤是固定的,您只能使用規範所定義的標籤。而XML則沒有定義任何的標籤,它只提供了一個架構的標準,讓使用的人自行或是使用別人定義的標籤,因此彈性、延伸性都比其他「固定式」的標示語言更強大與方便。
6. XML稱為延伸式(Extensible)就只因為可自定標籤?
正確。就如前面所提,XML提供了一個彈性的標準架構,讓使用的人可以自訂所需的標籤來標示資料。不過並不是每個要使用XML都必須自行定義所需的標籤,許多產業界會依據自己產業的特性定義所需的標籤,並作為資料處理上的協定,例如醫療界的HL7、電腦多媒體推播頻道的CDF、財金資訊交換標準OFX、化學界的CML、高科產業供應鏈的RosettaNet、當然也包括手機上傳輸WAP協定的WML,都是依據XML所定義出來的延伸語言(這些定義,有個專有名詞:metadata)。不過XML並不是因為能延伸出這些語言才稱之為「延伸式」,而是因為XML是屬於Meta-language,是一種用來描述其他語言的語言。透過XML自訂標籤的特性,使用者可以自行定義所需的標籤,而這些自訂的標籤配合規範的語意、結構,若成為個別應用領域或產業界之內,彼此間資料處理標準或協定,這就等於是一個新的文件處理規範或新的標示語言,而這一個新的文件處理規範/標示語言即是由XML所延伸而來,所以說XML是描述此一新的文件處理規範/標示語言的上一層語言,也就是為什麼稱XML是一個Meta-language的原因。
【補充】
XML不是唯一的Meta-language。XML與HTML都是由SGML延伸而來,所以SGML是XML與HTML的Meta-language。而HL7、CML、OFX、WML等都是由XML延伸的標示語言,所以XML是它們的Meta-language。不過HTML因為無法自訂標籤,不具延伸特性,所以無法產生新的標示語言,因此不是一個Meta-language。
XML是由全球資訊網聯盟(World Wild Web Consortium,W3C,網址:www.w3.org)所制定的標示語言規範。W3C發行它自己的規範(specification),通常並不直接稱為標準,因為W3C並不是一個政府組織,不過因為W3C是全球資訊網(World Wide Web)的最主要協定規範者,所以當某一技術規範通過W3C而成為建議時,便可以視為全球資訊網的國際標準。W3C公布相關技術規範的文件分成四種不同的等級:
" 註解(Note):由W3C會員組織提交到W3C的技術規格,尚未成為正式W3C規範之前,W3C會先以「註解」形式發布此一規格,提供各界討論參考。
" 工作...
作者序
XML其全名為「可延伸標示語言」(eXtensible Markup Language),反映了它可延伸擴充的特性。XML可以用來標示資料、定義資料的結構,提供了一致性的規範來描述與交換資料。於1998年2月10日正式問世以來,XML迅速成為大多數資料處理的標準格式,透過XML延伸的相關技術,也改變了資訊組織與傳播的模式。
筆者在1998年開始接觸XML時,適逢國內數位典藏國家型科技計畫的推動,因緣際會應用了XML可延伸標示的特性,設計了能夠延伸彈性兼容各種不同資料結構,卻又不需改變資料表格的動態資料庫應用系統,深深感受到XML彈性與強大的能力。
近二十年來資訊領域的不斷發展,XML延伸的相關技術越來越多元,支援的環境也越來愈成熟,包括資料結構的XSD、文件內容尋址與定位的XPath、資料轉換的XSLT、查詢資料庫XML文件內容的XQuery、向量圖形繪製的SVG,以及處理XML文件內容的程式介面SAX等,許許多多的延伸技術,在本書都會分別逐一介紹。此外工欲善其事必先利其器,使用軟體工具來搭配學習,更能加深學習的效果。本書也詳細介紹了坊間常用來開發XML的專業軟體工具的使用,除了在各章適當段落,提供特定練習與操作的介紹,並在第六章使用該軟體工具操作各類資料的建立、轉換,以及圖表文件產生的多元實務練習。
XML其全名為「可延伸標示語言」(eXtensible Markup Language),反映了它可延伸擴充的特性。XML可以用來標示資料、定義資料的結構,提供了一致性的規範來描述與交換資料。於1998年2月10日正式問世以來,XML迅速成為大多數資料處理的標準格式,透過XML延伸的相關技術,也改變了資訊組織與傳播的模式。
筆者在1998年開始接觸XML時,適逢國內數位典藏國家型科技計畫的推動,因緣際會應用了XML可延伸標示的特性,設計了能夠延伸彈性兼容各種不同資料結構,卻又不需改變資料表格的動態資料庫應用系統,深深感受到XML彈性與強大的能力。
近二十...
目錄
目 錄
前言1
第一章 快速導覽
第二章 標示語言
第一節 標示的意義與發展
第二節 標示語言的發展歷史
第三節 XML特點
第三章 XML文件
第一節 格式
第二節 處理指令、CDATA與名稱空間
第三節 XML文法規則
第四節 元素與屬性
第四章 結構規範—DTD
第一節 關於DTD
第二節 XML關聯DTD語法
第三節 元素宣告
第四節 屬性宣告
第五節 實體宣告
第六節 標記宣告
第七節 執行有效性驗證
第五章 結構規範—XSD
第一節 XML Schema
第二節 XSD語法
第三節 DTD與XSD轉換
第六章 實作練習
第一節 軟體概觀
第二節 建立XML Schema
第三節 建立XML文件
第七章 CSS樣式語言
第一節 概述
第二節 樣式的使用
第三節 CSS基本語法
第四節 選擇器
第八章 路徑語言XPath
第一節 概述
第二節 路徑表示式
第三節 函數
第九章 XSL
第一節 概述
第二節 建立操作
第三節 基本樣式元素
第四節 邏輯處理元素
第五節 呼叫樣板
第六節 函數
第十章 XLink, XPointer
第一節 XLink
第二節 XPointer
第十一章 可縮放向量圖形
第一節 概述
第二節 繪製方式
第三節 SVG基本形狀
第四節 動態圖形程式庫—d3.js
第十二章 資料庫與XQuery
第一節 建立XML資料表
第二節 xml資料類型的方法
第三節 XQuery查詢語言
第四節 XML資料維護
第十三章 XML程式—DOM
第一節 瀏覽器的DOM物件
第二節 瀏覽器的XHR物件
第十四章 XML程式—SAX
第一節 概述
第二節 處理器介面
第三節 其他處理器介面
第四節 實務練習
附錄A XMLSpy安裝說明
附錄B SQL Server 2017安裝與設定
附錄C JDK安裝說明
附錄D Web Server安裝說明
目 錄
前言1
第一章 快速導覽
第二章 標示語言
第一節 標示的意義與發展
第二節 標示語言的發展歷史
第三節 XML特點
第三章 XML文件
第一節 格式
第二節 處理指令、CDATA與名稱空間
第三節 XML文法規則
第四節 元素與屬性
第四章 結構規範—DTD
第一節 關於DTD
第二節 XML關聯DTD語法
第三節 元素宣告
第四節 屬性宣告
第五節 實體宣告
第六節 標記宣告
第七節 執行有效性驗證
第五章 結構規範—XSD
第一節 XML Schema
第二節 XSD語法
第三節 DTD與XSD轉換
第六章 實作練習
第一節 ...
商品資料
語言:繁體中文For input string: ""
裝訂方式:平裝頁數:456頁開數:20K
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。