《XML入門經典(第5版)》是2013年清華大學出版社出版的圖書。
基本介紹
- 書名:XML入門經典(第5版)
- ISBN:9787302342717
- 定價:98元
- 出版社:清華大學出版社
- 出版時間:2013-11-22
- 裝幀:平裝
圖書簡介,目錄,
圖書簡介
使用XML可以做太多的事情,從簡單的數據傳輸到提供多通道的內容,《XML入門經典(第5版)》將幫助你開啟XML之旅。它將帶領你飽覽一切你需要知道的有關這門強大語言的知識,包括它是什麼,它如何工作,與之相關的技術都有哪些,以及如何套用它。你將很快了解如何操縱XML文檔,在資料庫中存儲XML,提取數據,利用Web服務,甚至將其套用於網頁和圖像顯示。在一個案例分析的協助下,你甚至會學到如何提高程式設計。
目錄
第Ⅰ部分XML介紹
第1章什麼是XML 3
1.1初識XML:數據描述和
標記語言 3
1.1.1二進制檔案 4
1.1.2文本檔案 4
1.1.3標記語言簡史 5
1.2XML的誕生 5
1.3XML的優點 8
1.3.1XML規則 8
1.3.2數據的分層表示形式 9
1.3.3通用性 10
1.4XML的實際套用 11
1.4.1數據和文檔 11
1.4.2XML場景 12
1.4.3XML技術 13
1.5小結 19
第2章良構的XML 21
2.1良構的定義 21
2.2在文本編輯器中創建XML 22
2.2.1禁止的字元 22
2.2.2XML序言 22
2.2.3創建元素 24
2.2.4屬性 27
2.2.5元素與屬性內容 28
2.2.6處理指令 32
2.2.7CDATA節 32
2.3高級XML解析 34
2.3.1XMl等價性 34
2.3.2空白處理 35
2.3.3錯誤處理 36
2.4XML信息集 39
2.4.1文檔信息項 39
2.4.2元素信息項 39
2.4.3屬性信息項 40
2.4.4處理指令信息項 40
2.4.5字元信息項 40
2.4.6注釋信息項 40
2.4.7名稱空間信息項 40
2.4.8文檔類型聲明信息項 40
2.4.9未擴展實體引用信息項 41
2.4.10未解析實體信息項 41
2.4.11符號信息項 41
2.5小結 41
第3章XML名稱空間 43
3.1名稱空間的定義 43
3.2需要名稱空間的原因 44
3.3選擇名稱空間的方法 45
3.3.1URL、URI和URN 46
3.3.2創建第一個名稱空間 46
3.4聲明名稱空間的方法 47
3.4.1名稱空間的作用域 50
3.4.2聲明多個名稱空間 50
3.4.3修改名稱空間定義 52
3.5名稱空間的實際套用 55
3.5.1XMLSchema 55
3.5.2多名稱空間文檔 55
3.6使用名稱空間的時機 59
3.6.1何時需要使用名稱空間 59
3.6.2何時不需要使用名稱空間 60
3.6.3版本控制和名稱空間 60
3.7常見的名稱空間 61
3.7.1XML名稱空間 61
3.7.2XMLNS名稱空間 62
3.7.3XMLSchema名稱空間 62
3.7.4XSLT名稱空間 62
3.7.5SOAP名稱空間 63
3.7.6WSDL名稱空間 63
3.7.7Atom名稱空間 63
3.7.8MathML名稱空間 63
3.7.9Docbook名稱空間 64
3.8小結 64
第Ⅱ部分驗證
第4章文檔類型定義 69
4.1文檔類型定義的概念 69
4.1.1使用DTD 70
4.1.2使用jEdit 70
4.1.3詳述DTD 73
4.1.4DTD共享 76
4.2DTD剖析 77
4.2.1元素聲明 77
4.2.2屬性聲明 85
4.2.3實體聲明 90
4.3DTD的局限性 94
4.4小結 94
第5章XMLSchema 97
5.1XMLSchema的優點 98
5.1.1XMLSchema使用XML語法 98
5.1.2XMLSchema支持名稱空間 98
5.1.3XMLSchema的數據類型 98
5.1.4XMLSchema的內容模型 99
5.1.5XMLSchema規範 99
5.2XMLSchema實踐 99
5.3XMLSchema的定義 103
5.3.1<schema>聲明 103
5.3.2<element>聲明 107
5.3.3混合內容 115
5.3.4<group>聲明 115
5.3.5<attribute>聲明 117
5.3.6通訊錄的XMLSchema 117
5.3.7數據類型 123
5.3.8<simpleType>聲明 129
5.4創建一個來自多個文檔的
架構 133
5.4.1<import>聲明 134
5.4.2<include>聲明 137
5.5XMLSchema的開發文檔 139
5.6XMLSchema1.1 141
5.6.1寬鬆的規則 141
5.6.2<assert> 142
5.7小結 143
第6章RELAXNG與Schematron 145
6.1為什麼需要更多的XML
驗證方法 146
6.2設定環境 146
6.3使用RELAXNG 147
6.3.1理解RELAXNG基礎 147
6.3.2理解RELAXNG緊湊語法 152
6.3.3兩種RELAXNG格式的轉換 154
6.3.4約束內容 155
6.3.5在RELAXNG架構中
復用代碼 157
6.4使用Schematron 161
6.4.1理解Schematron基礎 161
6.4.2選擇Schematron版本 162
6.4.3理解基本過程 162
6.4.4編寫Schematron基本規則 162
6.4.5創建Schematron文檔 164
6.4.6向訊息添加更多信息 165
6.4.7Schematron約束取值 167
6.4.8Schematron處理協約束 169
6.4.9在XMLSchema中使用
Schematron 170
6.5小結 173
第Ⅲ部分處理
第7章從XML中提取數據 177
7.1文檔模型:XML的記憶體表示 177
7.1.1初識模型:DOM、XDM
與PSVI 177
7.1.2一個樣例DOM樹 178
7.1.3DOM節點類型 179
7.1.4DOM節點列表 180
7.1.5DOM的限制 180
7.2XPath語言 181
7.2.1XPath基礎 181
7.2.2XPath謂詞:完整的故事 183
7.2.3XPath步與軸 185
7.2.4XPath表達式 186
7.2.5XPath表達式中的變數 189
7.2.6XPath2中的新表達式 190
7.2.7XPath函式 194
7.2.8XPath集合運算 196
7.2.9XPath與名稱空間 196
7.3小結 198
第8章XSLT 199
8.1XSLT的用途 200
8.1.2XSLT作為功能性語言 201
8.2建立XSLT開發環境 202
8.2.1設定.NET版本的SAXON環境 202
8.2.2設定Java版本的Saxon環境 203
8.3基本的XSLT元素 204
8.3.1<xsl:stylesheet>元素 205
8.3.2<xsl:template>元素 206
8.3.3<xsl:apply-templates>元素 209
8.3.4<xsl:value-of>元素 209
8.3.5<xsl:for-each>元素 211
8.3.6推處理與拉處理 211
8.3.7XPath在XSLT中的作用 211
8.3.8使用命名模板 213
8.3.9<xsl:call-template>元素 216
8.3.10XSLT中document()函式 217
8.3.11條件邏輯 222
8.3.12<xsl:param>元素 226
8.3.13<xsl:sort>元素 227
8.3.14<xsl:copy>與<xsl:copy-of>
元素 229
8.4在XSLT中復用代碼 231
8.4.1<xsl:include>元素 231
8.4.2<xsl:import>元素 234
8.4.3<xsl:template>Mode屬性 234
8.5理解內置模板與內置規則 237
8.6使用XSLT2.0 238
8.6.1理解XSLT2.0中的數據類型 239
8.6.2創建自定義函式 239
8.6.3創建多個輸出文檔 243
8.6.4使用collection()函式 244
8.6.5XSLT2.0分組 245
8.6.6XSLT2.0處理非XML輸入 248
8.7XSLT與XPATH3.0:未來
展望 253
8.8小結 254
第Ⅳ部分資料庫
第9章XQuery 257
9.1XQuery、XPath和XSLT 257
9.1.1XQuery和XSLT 258
9.1.2XQuery和XPath 258
9.2XQuery實踐 259
9.2.1獨立XQuery套用 259
9.2.2SQL語句 259
9.2.3Java或其他程式語言調用 259
9.2.4原生XML服務 259
9.2.5無處不在的XQuery 259
9.3XQuery基礎模組 262
9.3.1FLWOR表達式、模組
以及函式 262
9.3.2無默認上下文項的XQuery
表達式 266
9.4查詢表達式詳解 266
9.4.1版本聲明 267
9.4.2序體 267
9.4.3查詢體 272
9.5一些可選的XQuery特性 278
9.5.1XQuery和XPath全文索引 278
9.5.2XQuery更新功能 279
9.5.3XQuery腳本擴展 279
9.6即將到來的XQuery3.0 279
9.6.1group和window 280
9.6.2count子句 281
9.6.3try和catch 281
9.6.4switch表達式 282
9.6.5函式項和高階函式 283
9.6.6JSON特性 284
9.6.7XQuery、關聯數據和語義網 284
9.7小結 284
第10章XML與資料庫 287
10.1了解資料庫為什麼需要
能處理XML 287
10.2分析資料庫所需的XML
功能 288
10.2.1檢索文檔 289
10.2.2在文檔中檢索數據 289
10.2.3更新XML文檔 289
10.2.4以XML形式展示
關係型數據 289
10.2.5以關係型數據的形式顯示
XML數據 290
10.3XML與MySQL資料庫 290
10.3.1安裝MySQL 290
10.3.2在MySQL中添加信息 291
10.3.3MySQL查詢命令 293
10.3.4用MySQL更新XML數據 297
10.3.5在MySQL中使用XML 298
10.3.6MySQL客戶端對XML
的支持 298
10.4XML與SQLServer資料庫 299
10.4.1安裝SQLServer 299
10.4.2用XML顯示關係型數據 300
10.4.3了解XML數據類型 313
10.4.4為xml數據類型創建索引 316
10.4.5SQLServer的W3CXML
Schema 323
10.4.6處理帶名稱空間的文檔 324
10.5XML與exist資料庫 325
10.5.1下載並安裝eXist 325
10.5.2互動操作eXist 327
10.6小結 335
第Ⅴ部分程式設計
第11章事件驅動程式設計 339
11.1理解順序處理 339
11.2在順序處理中使用SAX 340
11.2.1準備工作 341
11.2.2接收SAX事件 341
11.2.3處理無效內容 352
11.2.4DTDHandler接口 361
11.2.5EntityResolver接口 361
11.2.6了解特性與屬性 362
11.3XMLREADER 366
11.3.1XmlReaderSettings 372
11.3.2管理外部資源 376
11.4小結 377
第12章LINQtoXML 379
12.1LINQ的概念 379
12.1.1需要LINQtoXML的原因 381
12.1.2使用LINQtoXML 382
12.2創建XML文檔 384
12.2.1創建帶名稱空間的文檔 386
12.2.2創建帶有前綴名的名稱空間
的文檔 387
12.3從XML文檔中提取數據 387
12.4修改文檔 394
12.4.1添加內容 394
12.4.2刪除文檔中的內容 395
12.4.3更新和替換文檔中的內容 396
12.5轉換文檔 397
12.6VB.NET的XML屬性 399
12.6.1VB.NET的XML文本 399
12.6.2VB.NET的坐標軸屬性 402
12.6.3在VB.NET中管理名稱空間 404
12.7小結 404
第Ⅵ部分通信
第13章RSS、Atom和內容聚合 409
13.1聚合 409
13.1.1XML聚合 410
13.1.2聚合系統 412
13.1.3格式剖析 414
13.2使用新聞feed 422
13.2.1新聞閱讀器 423
13.2.2數據質量 423
13.3一個簡單的聚合器 423
13.3.1feed模型 424
13.3.2程式流程 426
13.3.3實現程式 426
13.3.4用XSLT轉換RSS格式 443
13.4幾個有用的網站地址 452
13.5小結 453
第14章Web服務 455
14.1什麼是遠程過程調用 455
14.2RPC協定 456
14.2.1DCOM 457
14.2.2CORBA與IIOP 458
14.2.3JavaRMI 458
14.3新的RPC協定——Web服務 459
14.3.1同源策略 460
14.3.2理解XML-RPC 461
14.3.2選擇網路傳輸 463
14.4理解REST服務 473
14.5Web服務的堆疊技術 477
14.5.1SOAP 477
14.5.2WSDL 478
14.5.3UDDI 479
14.5.4相關規範 479
14.6小結 481
第15章SOAP和WSDL 483
15.1SOAP基礎 483
15.2RPC新協定——SOAP 484
15.2.1SOAP與REST對比 488
15.2.2基本的SOAP訊息 488
15.2.3比較複雜的SOAP互動 496
15.3定義Web服務語言
——WSDL 508
15.4.1<definitions> 509
15.4.2<types> 509
15.4.3<messages> 509
15.4.4<portTypes> 510
15.4.5<binding> 510
15.4.6<soap:body> 512
15.4.7<service> 513
15.4.8其他綁定方式 516
15.4小結 519
第16章AJAX 521
16.1AJAX概述 521
16.1.1AJAX提供反饋 521
16.1.2使用AJAX載入未完成數據 522
16.1.3AJAX執行異步操作 522
16.2JavaScript簡介 523
16.2.1Web瀏覽器控制台 523
16.2.2值、表達式與變數 524
16.2.3控制流語句 526
16.2.4Properties、Objects、
Functions與Classes 527
16.3XMLHttpRequest函式 528
16.4使用HTTP方法與AJAX 532
16.5可達性考慮 533
16.6jQuery庫 534
16.6.1學習jQuery 535
16.6.2領域專用語言(DSL)方法 535
16.6.3jQuery外掛程式和附加庫 535
16.7JSON與AJAX 538
16.7.1JSON示例 538
16.7.2JSON語法 539
16.7.3JSON與jQuery 540
16.7.4JSONP與CORS 540
16.8Web伺服器後端 540
16.8.1傳送圖像以及其他
非文本數據 541
16.8.2性能 541
16.8.3伺服器日誌是朋友 541
16.9一個更複雜的例子 542
16.10小結 546
第Ⅶ部分顯示
第17章XHTML和HTML5 551
17.1SGML的背景 552
17.1.1HTML和SGML 552
17.1.2XML和SGML 552
17.2開放式Web平台 553
17.3XHTML簡介 554
17.3.1XHTML的<html>元素 554
17.3.2XHTML的<head>元素 555
17.3.3XHTML的<body>元素 557
17.3.4更多有關高級HTML
的主題 567
17.4XHTML和HTML:問題
以及解決方法 568
17.5級聯樣式表(CASCADING
STYLESHEETS,CSS) 569
17.5.1CSS等級和版本 569
17.5.2CSS一覽 570
17.5.3CSS選擇器 572
17.5.4CSS屬性 574
17.5.5CSS特殊規則 578
17.5.6CSS和XML 579
17.5.7分離樣式和標記:
低調的CSS 579
17.6UnobtrusiveJavaScript技術 580
17.7HTML5 580
17.7.1HTML5的優點 580
17.7.2HTML5的注意事項 581
17.7.3HTML5中的新元素 581
17.8小結 582
第18章可伸縮矢量圖形 585
18.1可伸縮矢量圖形和點陣圖 585
18.1.1過程式圖形 585
18.1.2聲明式圖形 586
18.1.3點陣圖圖像 586
18.1.4矢量圖像 588
18.1.5SVG圖像 588
18.2SVG圖像模型 589
18.3SVG和CSS 591
18.4SVG工具 592
18.5SVG基本內置圖形 594
18.5.1矩形 595
18.5.2圓形 596
18.5.3橢圓形 596
18.5.4直線 597
18.5.5折線和多邊形 597
18.5.6SVG路徑(SVGPath) 598
18.6SVG轉換和聚合 601
18.6.1轉換 601
18.6.2聚合 602
18.7SVG定義和元數據 602
18.7.1SVG的<title>元素和
<desc>元素 602
18.7.2SVG的<metadata>元素 603
18.7.3SVG的<defs>元素以及
可重用內容 604
18.8視窗和坐標 604
18.9SVG顏色和梯度 605
18.10在SVG中使用點陣圖圖像 607
18.11SVG文本和字型 608
18.12實現SVG動畫的4種方法 609
18.12.1同步多媒體集成語言
(SMIL) 609
18.12.2腳本動畫 610
18.12.3CSS動畫 611
18.12.4外部庫檔案 611
18.13SVG和HTML5 611
18.14SVG和Web套用 613
18.15使用XQUERY或XSLT
生成SVG圖像 613
18.16資源 614
18.17小結 614
第Ⅷ部分案例分析
第19章案例分析:XML在出版業中
的套用 617
19.1背景 617
19.2產品介紹:目前的工作流程 618
19.3引入一個全新的基於Web
的工作流程 618
19.3.1協商 618
19.3.2編寫項目文檔 619
19.3.3原型設計 619
19.4創建新流程 619
19.4.1富有挑戰性的條件 619
19.4.2新的工作流 620
19.4.3記錄轉變過程和用到的
技術 620
19.4.4成本收益分析 621
19.4.5部署 621
19.5一些技術要點 622
19.5.1XQuery和模組 622
19.5.2XInclude 622
19.5.3方程和MathML 623
19.5.4XProc:一種XML管道
語言 625
19.5.5XForms、REST和XQuery 626
19.5.6使用XSL-FO將對象
格式化為PDF 626
19.5.7文檔類XML標籤 628
19.5.8人文科學類標籤:TEI 629
19.6HoyBooks的網站 629
19.7小結 633
附錄A習題參考答案 635
附錄BXPath函式 655
附錄CXMLSchema數據類型 673