第一图书网

XML 揭秘

Michael Morrison等 清华大学出版社
出版时间:

2001-6  

出版社:

清华大学出版社  

作者:

Michael Morrison等  

页数:

651  

字数:

1030  

内容概要

本书由在Web技术领域中名声显赫的Michael Morrison编写。该书全面介绍了XML的相关技术,并对XML深层次的技术给出宝贵而实用的建议,远见卓识地描述了XML用于Web信息结构化的光明前景,使你可以从中获取丰富的技巧和经验,理解和拓宽知识的深度,掌握XML的全部潜能。作者在本书的后半部分详细地讲述了XML在多个领域中的应用。为了帮助读者更好地理解书中的内容,作者提供了大量简明实用且又具代表性的示例。
本书内容丰富、由浅入深,既适合初学者学习掌握XML语言,也适合有一定基础的读者精通XML。

作者简介

Michael Morrison不但是一位作家、程序员、玩具发明家,而且还写了很多书。这些书包括Complete Idiot's Guide to Java 2(Que Publishing,1999),Java 1.1 Unleashed(Sams.net Publishing,1997),How to Program JavaBeans(Ziff-Davis Press,1997)以及Teach Yourself Internet G

书籍目录

第1章 XML新手 1.1 XML历史简介 1.2 XML是怎样的 1.3 XML语法基础 1.3.1 标记 1.3.2 实体引用 1.3.3 注释 1.3.4 处理指令 1.3.5 文件类型声明 1.3.6 CDATA片段 1.4 XML的现状 1.4.1 XML的显示样式 1.4.2 浏览XML 1.4.3 解析XML 1.5 总结第2章 数据模型:文件类型定义和Schema 2.1 XML数据模型基础 2.2 用DTD来建立数据模型 2.3 用XML Schema建立数据模型 2.4 比较两种建立数据模型的方法 2.5 总结第3章 DTD基础 3.1 DTD和文件结构 3.1.1 内部DTD和外部DTD 3.1.2 有效的和结构良好的文件 3.2 理解元素和属性 3.3 使用元素 3.3.1 空元素 3.3.2 只含子元素的元素 3.3.3 混合元素 3.3.4 ANY元素 3.4 使用属性 3.4.1 字符串属性 3.4.2 枚举属性 3.4.3 标记属性 3.4.4 声明多重属性 3.5 用DTD创建有效的文件 3.6 总结第4章 进一步深入DTD 4.1 实体和文件结构 4.2 字符和实体 4.3 使用实体 4.3.1 一般实体 4.3.2 参数实体 4.4 外部实体 4.4.1 引用非解析实体 4.4.2 使用外部参数实体 4.5 声明表示法 4.6 在文件中引用实体 4.7 使用条件段 4.8 总结第5章 XML Schema基础 5.1 了解XML Schema 5.1.1 XML Schema和W3C 5.1.2 XML Schema的好处 5.2 深入XML Schema词表 5.2.1 schema元素 5.2.2 datatype元素 5.2.3 ElementType元素 5.2.4 element元素 5.2.5 group元素 5.2.6 AtrributeType元素 5.2.7 attribute元素 5.2.8 description元素 5.3 XML Schema数据类型 5.4 从XML Schema创建文件 5.5 总结第6章 XML Schema构造技术 6.1 将DTD转换为Schema 6.2 根据Schema验证文件 6.3 用XML Authority生成schema 6.4 理解内容模型 6.5 XML schema的未来 6.5.1 元素继承 6.5.2 受约束的数据类型 6.6 总结第7章 使用XML名字空间 7.1 名字空间基础 7.2 声明名字空间 7.2.1 缺省声明 7.2.2 显式声明 7.3 将schema作为名字空间引用 7.4 在schema中使用名字空间 7.5 名字空间和文件对象模型 7.6 总结第2部分 格式化XML文件第8章 对比两种样式规范:可扩展样式表语言和层叠样式表 8.1 样式表基础 8.1.1 HTML是一种非常糟糕的描述语言 8.1.2 将描述踢出HTML 8.1.3 通过样式表显示XML 8.2 CSS和XSL发展史 8.2.1 理解CSS 8.2.2 理解XSL 8.3 XSL与CSS的比较 8.4 XSL和CSS联合使用 8.5 总结第9章 使用层叠样式表格式化XML 9.1 CSS初步 9.2 深入CSS样式表 9.3 CSS样式属性 9.3.1 display属性 9.3.2 width和height属性 9.3.3 border属性 9.3.4 margin属性 9.3.5 color属性 9.3.6 text属性 9.3.7 font属性 9.4 创建CSS样式表 9.5 总结第10章 理解XSL 10.1 处理XSL样式表 10.2 XSL体系结构 10.2.1 XSL转换 10.2.2 XPath 10.2.3 XSL格式化对象 10.3 总结第11章 创建XSL样式表 11.1 XSL与Internet Explorer 5.0 11.2 深入XSL样式表 11.2.1 模板 11.2.2 模式 11.3 XSLT模板结构 11.3.1 xsl:value-of元素 11.3.2 xsl:if元素 11.3.3 xsl:for-each元素 11.3.4 xsl:apply-templates元素 11.4 开发XSL样式表 11.5 总结第3部分 XML文件的处理第12章 XML处理基础 12.1 XML文件的处理 12.2 为什么要解析XML 12.3 为什么要验证XML文件 12.3.1 文件类 12.3.2 用DTD来验证内容 12.3.3 在XML EDI中使用DTD 12.3.4 用DOM来使用DTD 12.4 深入XML解析器 12.4.1 解析树 12.4.2 结构良好的解析器 12.4.3 验证解析器 12.5 解析XML的两种方案的比较 12.5.1 将文件作为树来解析 12.5.2 将文件作为平面数据结构来解析 12.6 作为对象的解析器 12.7 总结第13章 用Java解析XML 13.1 Java的XML解析器库剖析 13.1.1 核心功能 13.1.2 核心API 13.1.3 这个核心没有揭示DTD 13.2 市面上的工具 13.2.1 Sun的Java Project X package 13.2.2 IBM的XML4J v2包 13.2.3 Oracle的v2 XML包 13.2.4 DataChannel的XJParser包 13.2.5 Microstar的Aelfred解析器 13.2.6 James Clark的XP解析器 13.2.7 其他XML解析器 13.3 用Java解析XML文件 13.3.1 使用SAX解析器 13.3.2 取得一个DOM文件 13.3.3 在解析之后:DOM扩展 13.4 总结第14章 用C++解析XML 14.1 为什么用C编写解析器 14.2 Expat解析器 14.2.1 取得和使用Expat 14.2.2 用Expat解析 14.3 IBM的C++ XML解析器 14.3.1 取得和使用IBM解析器 14.3.2 用IBM解析器验证文件的有效性 14.4 Microsoft的C解析器 14.4.1 Xmlint.exe解析器 14.5 MSXML解析器 14.5.1 获得并使用解析器 14.5.2 实现解析器 14.5.3 MS解析器错误处理 14.5.4 MS解析器的选项和模式 14.5.5 用IE5打开XML文件 14.6 用MSXML构建解析器接口 14.6.1 在解析器中详述脚本 14.6.2 使用MSXML解析器解析和验证XML文件 14.7 MSXML解析器的错误 14.7.1 巨大DTD的不正确操作 14.7.2 DOM中的不正确语法 14.8 在文件和DTD设计中使用C解析器 14.8.1 设计文件类型 14.8.2 调试模板文件 14.8.3 检查DTD语法 14.8.4 使用C++解析器调试DTD 14.8.5 解释错误信息 14.9 总结第15章 使用文件对象模型 15.1 W3C和XMLDOM 15.1.1 DOM的API接口 15.2 文件对象模型 15.3 文件树和解析树 15.4 W3C DOM基础 15.4.1 DOM对象 15.5 DOM接口 15.6 节点和对象 15.7 访问DOM中的节点 15.7.1 遍历树 15.7.2 用名字来访问节点 15.8 DOM方法返回的数据类型 15.9 Document接口 15.9.1 Document接口的只读属性 15.9.2 Implementation属性 15.9.3 Document接口的方法 15.9.4 使用Node和nodeList接口 15.9.5 使用getElementsByTagName()方法 15.10 DocumentFragment接口 15.11 node接口 15.11.1 node接口的属性 15.11.2 节点属性特征的调查 15.11.3 node接口的方法 15.11.4 使用节点方法:示例A 15.11.5 使用节点方法:示例B 15.12 NodeList接口 15.12.1 item()方法 15.13 NamedNodeMap接口 15.13.1 getNamedItem(),setNamedItem()和removeNamedItem()方法 15.13.2 length属性 15.14 CharacterData接口 15.14.1 data属性 15.14.2 length属性 15.14.3 subStringData方法 15.14.4 appendData()方法 15.14.5 insertData()方法 15.14.6 deleteData()方法 15.14.7 replaceData()方法 15.15 Attr接口 15.15.1 name属性 15.15.2 value属性 15.15.3 specified属性 15.16 Element接口 15.16.1 处理属性的方法 15.16.2 其他element接口的属性和方法 15.17 不常用的DOM接口 15.17.1 text接口 15.17.2 CDATASection接口 15.17.3 DocumentType接口 15.17.4 Notation接口 15.17.5 Entity和EntityReference接口 15.17.6 ProcessingInstruction接口 15.18 实现DOM 15.18.1 Microsoft的DOM引擎 15.18.2 IBM的DOM引擎 15.19 为应用程序加入DOM支持 15.19.1 Java 15.19.2 C++ 15.19.3 Visual Basic 15.19.4 ASP 15.20 脚本和DOM 15.20.1 使用C++DSO 15.20.2 使用Microsoft XMLDOM ActiveX数据对象(ADO) 15.21 Gecko中的DOM支持 15.22 永久保存文件 15.23 总结第16章 在Java中使用SAX API 16.1 SAX 1.O的结构 16.2 SAX 1.0包基础 16.2.1 解析XML文本 16.2.2 HandlerBase:统一的SAX处理函数 16.2.3 SAX DocumentHandler接口 16.3 SAX应用程序的例子 16.3.1 简单的模板处理 16.3.2 构建DOM树 16.4 SAX的其他核心功能 16.4.1 使用Parser.parse()的其他方法 16.4.2 ErrorHandler对象 16.4.3 InputSource对象 16.4.4 其他DocumentHandler回调 16.4.5 不是所有的解析器都一样 16.5 SAX的高级特征 16.5.1 对外部解析实体使用EntityResolver 16.5.2 诊断Locale 16.5.3 对未解析实体和注释使用DTD Handler 16.6 SAX 2.0 16.6.1 解析器特征标志 16.6.2 解析器属性值 16.7 总结第4部分 XML与Web第17章 浏览XML 17.1 XML和Web浏览器现状 17.2 Microsoft Internet Explorer 17.2.1 XML原始代码 17.2.2 XML错误处理 17.2.3 CSS和XSL 17.2.4 XML名字空间 17.2.5 XMLSchema 17.2.6 CDF和VML 17.3 Netscape Navigator(Mozilla) 17.3.1 CSS和XSL 17.3.2 Expat解析器 17.3.3 XUL和RDF 17.4 其他浏览器 17.4.1 CITEC DocZilla 17.4.2 W3C Amaya 17.4.3 Opera 17.5 总结第18章 XHTML:XML与HTML结合的产物 18.1 为什么要用XHTML 18.2 XHTML和HTML4.0的差别 18.3 XHTML和文件的有效性 18.3.1 声明XHTML DTD 18.3.2 声明XHTML名字空间 18.3.3 验证XHTML文件 18.4 创建XHTML文件 18.5 将HTML文件转化为XHTML 18.5.1 手工转换文件 18.5.2 使用HTML整理工具 18.6 总结第19章 使用XLink和XPointer链接文件 19.1 链接HTML的方法 19.2 超越传统HTML链接 19.3 W3C链接规范 19.3.1 XPath 19.3.2 XPointer 19.3.3 XLink 19.4 深入XLink 19.4.1 链接的类别 19.4.2 XLink属性 19.4.3 创建XLink 19.5 深入XPointer 19.5.1 位置路径 19.5.2 创建XPointer 19.6 总结第20章 编写XML脚本 20.1 为什么编写XML脚本 20.2 XML脚本选择 20.2.1 JavaScript 20.2.2 VBScript 20.2.3 Perl 20.2.4 Python 20.2.5 AppleScript 20.2.6 Tcl 20.3 JavaScript入门 20.3.1 语句 20.3.2 变量 20.3.3 表达式 20.3.4 注释 20.3.5 函数 20.3.6 对象 20.4 再谈XML DOM 20.4.1 XMLDOMDocument对象 20.4.2 XMLDOMNode对象 20.4.3 XMLDOMNodeList对象 20.4.4 XMLDOMNamedNodeMap对象 20.4.5 XMLDOMElement对象 20.4.6 XMLDOMAttribute对象 20.4.7 XMLDOMText对象 20.4.8 XMLDOMParseError对象 20.5 开发XML脚本 20.6 总结第5部分 使用XML操作数据第21章 XML数据源对象 21.1 数据库和远程数据访问 21.1.1 数据是如何组织的 21.1.2 什么是记录集 21.1.3 浏览记录集 21.1.4 什么是DSO 21.1.5 DSO和XML 21.2 远程数据服务和DSO 21.2.1 表格式数据控制(TDC) 21.2.2 远程数据服务(以前的ADC) 21.2.3 JDBC DataSource Applet 21.2.4 XML数据源 21.3 理解表格式数据控制(TDC) 21.3.1 创建TDC DSO 21.3.2 导入文本文件 21.3.3 TDC DSO的数据绑定 21.3.4 使用脚本和SQL语法 21.3.5 DSO事件 21.3.6 数据与HTML表格(table)绑定 21.4 XMLDSO 21.5 XMLJava DSO 21.6 XML C++ DSO 21.6.1 实例化C++ XML DSO 21.6.2 加载扩展文件 21.6.3 验证XML 21.6.4 加载一个内嵌文件 21.7 使用XML岛 21.7.1 在XML岛中验证XML 21.7.2 加载嵌入XML 21.7.3 加载外部文件 21.8 编写XML DS0 21.8.1 使用SQL 21.8.2 使用DOM 21.9 XML数据绑定 21.10 复杂XML的数据绑定 21.10.1 绑定属性 21.10.2 绑定嵌套的元素 21.11 总结第22章 使用XSL模式和XQL 22.1 查询语言的需求 22.1.1 为什么要有XML查询语言 22.1.2 作为数据存储的XML 22.2 XML查询语言(XQL) 22.2.1 什么是XQL查询 22.2.2 XQL查询样例 22.3 XQL语法 22.3.1 层叠查询字符串 22.3.2 连续关系查询 22.3.3 查询以找到属性 22.3.4 处理空白空间 22.3.5 使用过滤器 22。3.6 布尔语句 22.3.7 等式 22.3.8 比较 22.3.9 XQL方法 22.3.10 在查询中使用圆括号 22.3.11 名字空间查询方法 22.3.12 聚合方法 22.4 XQL:执行工具和其他资源 22.5 XSLT模式 22.5.1 XSLT查询的例子 22.6 使用DOM 22.6.1 何时使用DOM查询 22.7 自编函数 22.7.1 什么时候使用自编函数查询 22.8 总结第23章 使用XML和ASP访问数据库 23.1 在数据库管理系统中使用XML 23.1.1 XML用于归档 23.1.2 XML作为包 23.1.3 XML用于显示 23.1.4 XML作为数据存储 23.2 个人万维网服务器(PWS)和动态服务器网页(ASP) 23.2.1 使用PWS 23.2.2 理解ASP 23.3 本机的ASP对象 23.3.1 server对象 23.3.2 request对象 23.3.3 response对象 23.4 脚本对象 23.4.1 FileSystemObject对象 23.4.2 TextStream对象 23.5 ActiveX和DOM对象 23.5.1 ADODB对象 23.5.2 XMLDOM对象 23.6 理解数据库 23.7 使用ASP连接数据库 23.7.1 ODBC和0LE-DB 23.7.2 访问数据库 23.8 将数据读入XML流 23.8.1 扩展connect2.asp 23.8.2 使用XML备份记录 23.8.3 使用XML进行信息封装 23.9 使用XML作为数据存储 23.9.1 使用ASP访问XML文件 23.9.2 以简单结构文本文件获得XML文件 23.9.3 以DOM对象方式获取XML 23.10 从XML数据存储中访问数据 23.11 XML与RDBMS对比 23.11.1 什么时候使用XML作为数据库的附属 23.11.2 什么时候将XML作为数据存储 23.11.3 什么时候不使用XML作为数据存储 23.12 总结第24章 使用WIDL链接商用数据 24.1 商业上使用WIDL 24.1.1 自动数据收集 24.1.2 使用WIDL作为解决方案 24.2 WIDL 2.0简介 24.2.1 对象模型 24.2.2 WIDL元素 24.2.3 SERVICE元素 24.2.4 SERVICE链 24.2.5 BINDING元素 24.2.6 VARIABLE元素 24.2.7 CONDITION元素 24.2.8 REGION元素 24.3 WIDL 3.0 24.4 总结第25章 EDI和XML 25.1 EDI初步 25.1.1 历史与现状 25.1.2 EDI的商业特征 25.1.3 技术描述 25.2 EDI有什么问题 25.2.1 商业问题 25.2.2 技术问题 25.3 与EDI接近的XML 25.3.1 基础技术 25.3.2 网上电子商务 25.3.3 XML中的EDI消息——XML/EDIT25.4 总结第6部分 XMLI具窜26章 XML制作和内容管理工具 26.1 XML工具类型 26.2 XML制作工具 26.2.1 SoftQuad XMetal 26.2.2 Adobe Frame Maker+SGML 26.2.3 Arbortext ADEPT-Editor 26.2.4 Stilo Web Writer 26.2.5 IBM Xeena 26.2.6 Vervet Logic XML Pro 26.2.7 Bluestone Visual-XML 26.2.8 Microsoft XML Notepad 26.2.9 Emile 26.3 XML内容管理工具 26.3.1 Poet内容管理套件 26.3.2 Arbortext Epic 26.3.3 Chrystal Astoria 26.3.4 Oracle 8i 26.4 其他XML工具 26.4.1 XML Authority 26.4.2 Near and Far Designer 26.4.3 Stylus 26.5 总结第27章 使用XML生成器移值数据 27.1 XML生成器基础 27.2 使用XML生成器应用程序 27.2.1 分隔的文本数据文件 27.2.2 XML模板 27.3 生成XML文件 27.4 总结第28章 XFA脚本系统 28.1 XFA脚本基础 28.1.1 解释XFA脚本 28.2 XFA和XML的关系 28.3 XFA数据类型 28.4 XFA词表 28.4.1 xfa:val元素 28.4.2 xfa:block元素 28.4.3 xfa:function元素 28.4.4 xfa:use元素 28.4.5 xfa:if、xfa:orif和xfa:else元素 28.4.6 xfa:for元素 28.4.7 xfa:while元素 28.4.8 xfa:string元素 28.4.9 xfa:break元素 28.4.10 xfa:let元素 28.4.11 xfa:data元素 28.4.12 xfa:tag元素 28.4.13 xfa:ref元素 28.4.14 xfa:form元素 28.4.15 xfa:note元素 28.5 编写XFA脚本 28.5.1 从文本文件中读取 28.5.2 处理XML代码 28.6 XFA和DTD 28.7 总结第29章 使用DDbE生成DTD 29.1 理解DDbE 29.2 深入DDbE命令行工具 29.3 生成DTD 29.4 使用DDbE库 29.5 总结第30章 了解IBM的XML工具集 30.1 工具箱一瞥 30.2 使用Xplorer和XML浏览器 30.3 使用XML转换生成器 30.3.1 转换XML文件 30.3.2 从网页中提取数据 30.4 使用XML区分和归并工具 30.5 总结第7部分 XML词表探讨第31章 用XMLNEWS制作新闻 31.1 理解XMLNews 31.2 深入XMLNews-Story词表 31.2.1 ntif元素 31.2.2 body.head元素 31.2.3 body.content元素 31.3 使用XMLNews创建新闻故事 31.4 总结第32章 使用SMIL集成多媒体对象 32.1 SMIL基础 32.2 深入SMIL词表 32.2.1 smil元素 32.2.2 head元素 32.2.3 body元素 32.3 创建SMIL内容 32.4 SMIL播放器和制作工具 32.4.1 SMIL播放器 32.4.2 SMIL制作工具 32.5 SMIL和HTML+TIME 32.6 总结第33章 使用CDF推出Web内容 33.1 Active频道基础 33.2 使用Active频道 33.3 深入CDF词表 33.3.1 Channel元素 33.3.2 Title元素 33.3.3 Abstract元素 33.3.4 Author元素 33.3.5 Publisher元素 33.3.6 Copyright元素 33.3.7 PublicationDate元素 33.3.8 LastMod元素 33.3.9 Schedule元素 33.3.10 Logo元素 33.4 使用CDF创建频道 33.5 CDF生成器工具 33.6 总结第34章 使用VML和SVG描述矢量图形 34.1 结构化矢量图形的重要性 34.2 XML矢量图形支持 34.2.1 矢量标记语言(VML) 34.2.2 精确矢量图形(SVG) 34.3 深入VML词表 34.3.1 shape元素 34.3.2 path元素 34.3.3 line元素 34.3.4 polyline元素 34.3.5 curve元素 34.3.6 rect元素 34.3.7 roundrect元素 34.3.8 oval元素 34.3.9 arc元素 34.3.10 group元素 34.4 深入SVG词表 34.5 总结第35章 虚拟现实和3DML 35.1 DML基础 35.2 深入3DML词表 35.2.1 SPOT元素 35.2.2 HEAD元素 35.2.3 BODY元素 35.3 创建3DML世界 35.4 在网页中嵌入3DML世界 35.5 Spotnik 3DML场景制作工具 35.6 总结第36章 用MathML表达数学 36.1 MathML基础 36.2 深入MathML词表 36.2.1 表述标记 36.2.2 内容标记 36.3 创建MathML内容 36.4 MathML工具 36.4.1 Amaya编辑器和浏览器 36.4.2 WebEQ数学浏览器Java Applet 36.4.3 IBM的techexplorer Hypermedia浏览器 36.4.4 MathType等式编辑器 36.4.5 EzMath编辑器和插件 36.4.6 Mathematica科学计算工具 36.5 总结第37章 使用P3P管理个人隐私信息 37.1 P3P基础 37.2 RDF速成 37.3 深入P3P协调词表 37.3.1 PROP元素 37.3.2 ASSURANCE元素 37.3.3 REALM元素 37.3.4 VOC:DISCLOSURE元素 37.3.5 STATEMENT元素 37.3.6 DATA:REF元素 37.4 使用P3P创建个人策略 37.5 Privacy Wizard 37.6 总结第38章 使用RELML列出实际不动产 38.1 RELML基础 38.2 深入RELML词表 38.3 创建RELML内容 38.4 RELML和0penMLS 38.5 总结第39章 使用HRMML管理人才资源 39.1 HRMML基础 39.2 深入HRMML词表 39.2.1 hr-com.mod模块 39.2.2 hr-org.mod模块 39.2.3 hr-pstd.mod模块 39.2.4 hr-jobd.mod模块 39.2.5 hr-phon.mod模块 39.2.6 hr-addr.mod模块 39.2.7 hr-resm.mod模块 39.3 评价HRMML履历结构 39.3.1 resumeprolog元素 39.3.2 resumebody元素 39.4 创建HRMML履历 39.5 浏览HRMML履历 39.6 总结第40章 交互谈话和VoxML 40.1 VoxML基础 40.2 深入VoxML词表 40.2.1 DIALOG元素 40.2.2 STEP元素 40.3 VoxML工具 40.3.1 VoxML模拟器 40.3.2 VoxML浏览器 40.3.3 VoxML开发节点 40.4 使用VoxML创建语音应用 40.5 总结第8部分 附录附录A XML缩略词附录B XML资源 R.1 一般XML资源 B.2 XML规范 B.3 XML浏览器 B.4 XML工具 B.4.1 验证服务 B.4.2 解析器 B.4.3 制作工具 B.4.4 内容管理工具 B.4.5 其他工具 B.5 XML词表 B.6 其他资源


图书封面

广告

下载页面


XML 揭秘 PDF格式下载



相关图书