XML是一種描述數據和數據結構的語言,能夠保存在任何可以存儲文本的文檔中。《XML實用教程/高等學校計算機應用規劃教材》主要介紹了×ML的基本概念、語法規則、文檔類型定義、模式定義、級聯樣式表、可擴展樣式表、文檔對象模型、XML在Java和.NET中的編程等內容,最后通過一個綜合案例演示了XML在實際項目開發中的應用。《XML實用教程/高等學校計算機應用規劃教材》在講解基本概念和基礎知識的同時給出了大量實例,每章還給出填空題、選擇題和上機題,便于讀者鞏固所學的知識。
《XML實用教程/高等學校計算機應用規劃教材》可作為高等院校計算機、電子商務以及信息類相關專業的教材,也可供相關技術研究人員和廣大Web應用程序開發者參考。
《XML實用教程/高等學校計算機應用規劃教材》充分體現了模塊化、結構化程序設計的特點,并以實例為導引,將知識點全面概括應用在其中。對每一個實例的實現方式及程序代碼均給出注釋,方便閱讀、理解。章前提示要掌握的內容,章后有小結和測試習題,方便檢測和鞏固學習成果,做到理論與實踐相結合。
XML(Extensible Markup Language,可擴展標記語言)不僅是一種優秀的元標記語言,同時也是一種優秀的數據交換格式。用XML描述數據具有結構簡單、便于人和計算機閱讀的雙重功效,彌補了關系型數據對客觀世界中真實數據描述能力的不足。XML集HTML和SGML的優勢于一身,具有易于編輯、便于管理、適于存檔和容易查詢等諸多優勢,已經成為新一代網絡標準語言。
本書以XML為中心,詳細介紹了與XML相關的一些基本技術,包括XML語法、DTD和XML Schema、使用CSS和XSL格式化XML文檔、XPath及DOM等技術。通過本書的學習,使讀者對XML語言有一個全面的了解,掌握相關的主要知識點,在軟件設計中運用XML技術靈活地進行信息的描述、交換和顯示。全書共10章,具體內容如下:
第1章 初識XML。本章主要介紹了標記語言產生的原因和發展、SGML語言、HTML語言,概述了XML語言的概念、優勢和相關技術,最后對主流的XML編輯器——XMLSpy 2011的安裝、主界面、主要功能和基本用法進行詳細講解。
第2章 XML語法。本章主要介紹XML的語法,重點介紹了XML文檔結構,XML格式的約束規則,如何聲明元素和屬性以及怎樣使用命名空間等基礎語法內容。
第3章 在XML中使用DTD。本章主要介紹的是確保XML文檔有效的文檔類型定義——DTD,重點介紹了DTD中元素、屬性、實體的聲明語法和格式,以及在XML文檔中使用DTD的方式。
第4章 XML和CSS。本章首先介紹了CSS的作用,然后介紹了CSS語法及常見的CSS屬性的設置,并以實例的方式講述了如何在XML中使用 CSS。
第5章 XSL轉換。本章講述了XSL的基本概念,著重講解XSL轉換語言、XSL文檔的編寫、模板的規則及應用模板、XSL的轉換執行過程以及實現XSL的方式。
第6章 XML Schema簡介。本章主要介紹了XML Schema(XML模式)定義的基本語法知識,重點介紹了模式的文檔結構、XML 模式中元素及屬性的聲明語法和使用XML模式的方式。
第7章 數據島。本章主要介紹了數據島技術,詳細講解了數據島的使用方式、數據源對象DSO的操作,并給出了遍歷和分頁顯示XML文檔的實例。
第8章 Java中的DOM。本章重點介紹Java語言中文檔對象模型DOM的基本概念、常用接口、常用對象和DOM和XML如何進行交互。此外,還講述了Java語言中操作XML文檔的另外一種方式——SAX,包括其工作原理、常用的事件和接口以及它對XML的解析。
第9章 .NET中的DOM。本章主要介紹了在.NET平臺上操作和處理XML文檔要用到的具體技術及相關對象,重點介紹了.NET平臺上的DOM編程方法,以及XML與DataSet的關系及相互轉換。
第10章 基于XML的公共信息交流網。本章通過一個綜合案例演示了XML在實際項目開發中的具體應用,通過對案例的剖析,體會XML技術在Web應用方面的優勢并進一步掌握利用DOM操作XML文檔的方法和技巧。
本書是把理論和實例結合在一起的XML及相關技術應用的參考書,讓讀者先從XML基礎知識和XML相關技術入手,然后明白學習這些技術的意義,從而能夠運用這些技術來開發XML應用程序。最后能夠把這些技術融合為一體,實現XML應用系統。
本書適合具有一定Java基礎和初步HTML知識的讀者閱讀,也可作為高等院校計算機、電子商務以及信息類相關專業的教材,同時可供相關技術研究人員、廣大Web應用程序開發者和用戶參考。
本書主要由王冬、陳可湯和王龍主持編寫,此外,呂平、王堅寧、王魁、許小榮、周新國、王松年、張鳳琴、陳可湯、陳作聰、張璐、祁招娣、王文婷等同志在整理材料方面給予了編者很大的幫助。在此,編者對他們表示衷心的感謝。
由于作者水平有限,書中紕漏之處在所難免,歡迎廣大讀者、同仁批評斧正。
作 者
2013年8月
第1章 初識XML
1.1 標記語言
1.1.1 SGML的誕生
1.1.2 HTML的出現
1.2 XML概述
1.2.1 為什么要使用XML
1.2.2 一個簡單的XML例子
1.2.3 XML的優勢
1.3 XML開發工具
1.3.1 XMLSpy的安裝
1.3.2 XMLSpy主界面
1.3.3 XMLSpy的主要功能
1.3.4 XMLSpy的使用
1.4 習題
1.4.1 填空題 第1章 初識XML
1.1 標記語言
1.1.1 SGML的誕生
1.1.2 HTML的出現
1.2 XML概述
1.2.1 為什么要使用XML
1.2.2 一個簡單的XML例子
1.2.3 XML的優勢
1.3 XML開發工具
1.3.1 XMLSpy的安裝
1.3.2 XMLSpy主界面
1.3.3 XMLSpy的主要功能
1.3.4 XMLSpy的使用
1.4 習題
1.4.1 填空題
1.4.2 選擇題
1.4.3 上機題
第2章 XML語法
2.1 XML文檔結構
2.1.1 組成與聲明
2.1.2 注釋和處理指令
2.2 XML標記
2.2.1 定義XML標記
2.2.2 標記的分類
2.2.3 標記的規則
2.3 XML元素
2.3.1 元素的命名
2.3.2 起始標記
2.3.3 結束標記
2.3.4 元素的類型
2.3.5 元素的嵌套
2.4 XML屬性
2.4.1 屬性的定義
2.4.2 屬性值的定義
2.5 特殊字符和CDATA區段
2.5.1 特殊字符的使用
2.5.2 CDATA的格式和位置
2.6 XML命名空間
2.6.1 命名空間的概念
2.6.2 命名空間的定義
2.6.3 默認命名空間
2.7 XML文檔語法小結
2.7.1 格式良好的XML文檔
2.7.2 有效的XML文檔
2.8 習題
2.8.1 填空題
2.8.2 選擇題
2.8.3 上機題
第3章 在XML中使用DTD
3.1 DTD的基本概念
3.1.1 初識DTD
3.1.2 DTD的引用
3.2 DTD中的元素
3.2.1 元素的定義
3.2.2 約束元素的子元素
3.2.3 約束元素的類型
3.3 DTD中的屬性
3.3.1 在DTD中聲明屬性
3.3.2 屬性的默認值
3.3.3 屬性的類型
3.4 DTD中的實體
3.4.1 實體的概念和分類
3.4.2 普通實體
3.4.3 參數實體
3.4.4 不可解析實體
3.5 習題
3.5.1 填空題
3.5.2 選擇題
3.5.3 上機題
第4章 XML和CSS
4.1 CSS簡介
4.¨CSS語法
4.1.2 引用CSS
4.2 CSS選擇器
4.3 設置文本的顯示方式
4.4 字體
4.5 文本樣式
4.6 邊框
4.7 布局
4.8 顏色
4.9 注釋
4.10 使用CSS顯示XML文檔
4.10.1 內部鏈接樣式
4.10.2 無需鏈接的內部CSS
4.11 習題
4.1 1.1 填空題
4.1 1.2 選擇題
4.1 1.3 上機題
第5章 XSL轉換
5.1 XSL入門
5.1.1 XSL概述
5.1.2 XML文檔結構樹
5.1.3 XSL樣式表及工作原理
5.2 XSL模板
5.2.1 模板概述
5.2.2 輸出結果內容
5.2.3 模板與標記匹配
5.3 XSL控制指令
5.3.1 簡單判斷
5.3.2 多條件判斷
5.3.3 循環處理
5.3.4 輸出內容排序
5.4 XPath簡介
5.4.1 XPath中的節點類型和關系
5.4.2 XPath的類型和運算符
5.4.3 XPath的位置路徑表達式
5.4.4 XPath的標準函數
5.5 習題
5.5.1 填空題
5.5.2選擇題
5.5.3 上機題
第6章 XMLSchema簡介
6.1 XMLSchema與DTD
6.2 XMLSchema
6.2.1 XMLSchema概述
6.2.2 XMLSchema的特點
6.2.3 XMLSchema基本結構
6.3 XMLSchema的使用
6.3.1 Schema的作用
6.3.2 Schema的引用
6.3.3 XMLSchema簡單示例
6.4 XMLSchema數據類型
6.4.1 簡單類型
6.4.2 復雜類型
6.5 XMLSchema元素的聲明
6.5.1 XMLSchema根元素
6.5.2 element元素
6.5.3 空元素的定義
6.5.4 設置默認值和固定值
6.5.5 元素的引用
6.6 XMLSchema屬性的聲明
6.7 XMLSchema命名空間
……
第7章 數據島
第8章 Java中的DOM
第9章.NET中的DOM
第10章 基于XML的公共信息
交流網