书籍详情
C++ XML高级编程指南
作者:(美)Fabio Arciniegas著;武磊,刘拴强译
出版社:北京希望电子出版社
出版时间:2002-01-01
ISBN:9787900088529
定价:¥35.00
购买这本书可以去
内容简介
本书写给那些专门应用XML和C++开发高性能、高质量应用程序的程序员。本书为成功构建C++XML程序提供了有效、高水平和正中要点的技巧和工具。本书由5部分构成。第1部分"XML基础"包括XML结构和概念,XML/C++概述。第2部分"用C++处理XML"包括事件驱动过程,SAX C++,SAX C++2.0及高级技术,DOM Level 2.0,C++ DOM高级操作,SAX和DOM的高级C++特征。第3部分"使用与C++相关的XML标准"包括XML模式、TREX和其他建模语言,C++中的Xpath和Xpointer,XSLT转换,工具包特性和框架实现。第4部分"集成著名的C++模块"包括为C++程序创建基于XML的扩展语言,已发行C++ XML应用程序:SOAP和XML-RPC,使用C++开发XML和数据库(ODBC和DAO)。第5部分"附录"包括UML,STL,CD内容和说明。本书涵盖了XML所有重要的标准、工具包和一些应用程序,这些应用程序从C++的观点出发,按照XML的格式和XML的行为来表示并交换数据信息。本书揭示了这些应用程序的具体实现,其范围涵盖了从XML编辑器和数据库到3D应用程序和分布式系统的所有内容。本教程详尽完整,专业性强,是那些应用XML和C++构建应用程序的程序员首选参考书,同时本书也可作为高等院校相关专业师生教学、自学参考书。本版CD内容为书中的实例源代码及可执行文件。
作者简介
Fabio Arciniegas是postgraphy的首席技术专家,他将C++和XML技术应用到了开发可视和图像处理应用中。他是XML协会中的活跃的成员之一,不仅是开发者,也是作者。他的贡献包括了C++实现TREX语言的开发,Xlink软件,大量的文章以及处理XML技术的指导程序。他经常作为XML相关会议的发言人和指导者参与活动,包括了XML Developers Conference,O’Reilly Open Source Conference,以及XML and Distributed Applications等。
目录
I XML基础
第一章 XML:结构和概念
1.1 基本结构
1.1.1 元素、属性、和嵌套
1.1.2 XML声明
1.1.3 CDATA部分
1.1.4 处理指令
1.1.5 自然语言
1.1.6 格式正规
1.2 DTDs
1.2.1 元素类型声明
1.2.2 对DTD绑定文档
1.2.3 属性列表声明
1.2.4 表示法
1.2.5 稍作休息:关于“show DTD”
1.2.6 条件部分
1.2.7 实体
1.2.8 字符引用
1.2.9 内部和外部DTD子集
1.3 命名空间
1.3.1 基本原理
1.3.2 声明
1.3.3 通用名称和受限名称
1.3.4 在DTD中声明命名空间
1.4 总结
第二章 XML/C++概览
2.1 XML技术家族
2.1.1 核心XML
2.1.2 高级数据建模和验证
2.1.3 定位和链接技术
2.1.4 XML文档转换
2.2 APIs
2.2.1 通用基础API
2.2.2 特定词汇表API
2.3 应用程序
2.3.1 纯XML操作
2.3.2 相关的补充
2.3.3 分布式XML应用程序
2.3.4 案例学习
2.4 总结
II 用C++处理XML
第三章 事件驱动过程
3.1 事件驱动模式
3.2 Expat
3.2.1 实地介绍
3.2.2 语法树类
3.2.3 处理器
3.2.4 结果
3.2.5 expat的结构
3.2.6 基本函数
3.2.7 expat关于面向对象的封装
3.2.8 在Windows工程中集成expat(可选的)
3.3 其它C/C++工具箱
3.4 总结
第四章 SAX C++
4.1 实地介绍
4.1.1 文档类型
4.1.2 策略
4.2 SAX C++的结构
4.3 SAX 1.0
4.3.1 处理器
4.4 总结
第五章 SAX C++2.0及高级技术
5.1 通用接口
5.1.1 DTDHandler
5.1.2 ErrorHandler
5.1.3 使用ErrorHandler
5.1.4 基础处理器
5.2 SAX 2.0的专有接口和类
5.2.1 SAX 2.0和SAX1.0的主要不同
5.2.2 有关SAX2的一张图
5.2.3 源头:SAX2XMLReader
5.2.4 SAX2XMLReader方法
5.2.5 Reader工厂
5.2.6 助手和异常
5.3 总结
第六章 DOM Level 2.0
6.1 DOM基础
6.2 DOM发展历史
6.3 DOM性质
6.3.1 结构
6.4 一个实例:XML编辑器
6.5 核心接口导引
6.6 一个完整的例子:XML编辑器
6.7 总结
第七章 C++DOM高级操作
7.1 将文档模式绑定到本地模式
7.1.1 对问题的定义
7.1.2 问题
7.1.3 模型和视图与模型和结构
7.1.4 归纳方法
7.2 用检查者扩展DOM
7.2.1 统计检查者
7.2.2 命名空间检查者
7.3 总结和下一步的任务
第八章 SAX和DOM的高级C++特征
8.1 C++SAX和C++DOM
8.1.1 性能
8.1.2 关于设计
8.1.3 关于模式
8.2 C++SAX加C++DOM
8.2.1 DOMAsSAX适配器
8.3 C++SAX中的内存管理
8.3.1 字符串的分配和释放
8.4 C++DOM中的内存管理
8.4.1 C++中的字符编码
8.5 总结
III 使用与C++相夫的XML标准
第九章 XML模式、TREX和其它建模语言
9.1 XML模式:语言概述
9.1.1 XML模式的基本原理
9.1.2 类型
9.1.3 复杂类型与简单类型
9.1.4 匿名类型
9.1.5 目标命名空间
9.1.6 类型约束:各方面
9.1.7 关于XML模式语言的更多内容
9.2 XML模式的C++工具
9.2.1 在C++工程中嵌入模式验证器
9.2.2 存取XML模式信息
9.3 TREX:语言概述
9.3.1 模式
9.3.2 元素和属性
9.3.3 选择与循环
9.3.4 交叉
9.4 用于TREX的C++工具:Lorenza
9.4.1 作为应用程序运行Lorenza
9.4.2 嵌入Lorenza
9.4.3 有计划地得到模式结构信息
9.4.4 RELAX和Schematron
9.5 总结
第十章 C++中的XPath和XPointer
10.1 举例讲解XPath
10.1.1 文档
10.1.2 表达式及其值
10.2 正式开始XPath
10.2.1 模型:轴和节点
10.2.2 谓语
10.2.3 函数
10.3 Xpath的C++操作
10.3.1 Xalan中的XPath类
10.3.2 XPath类:角色和交互
10.3.3 实现XPath交互
10.4 XPointer
10.4.1 点
10.4.2 范围
10.4.3 定位集
10.4.4 附加函数
10.4.5 语法修饰
10.5 XPointer的C++操作
10.6 XPointer类
10.6.1 图形小说浏览器
10.7 总结
第十一章 XSLT转换
11.1 XSLT
11.1.1 转换过程
11.1.2 源文档
11.1.3 预期结果
11.1.4 在结果中插入数据
11.1.5 控制流
11.1.6 选择
11.1.7 循环
11.2 C++中的XSLT
11.2.1 “低级”API
11.2.2 “高级”API
11.2.3 示例应用程序:vxslt
11.2.4 更多的例子
11.3 总结
第十二章 工具包特性和框架实现
12.1 Xerces/Xalan
12.1.1 平台和许可证
12.1.2 支持技术
12.1.3 哪里可以得到它
12.1.4 什么是框架
12.1.5 XMLableFR( XMLable框架)
12.1.6 其他可高度重用的Xerces/Xalan软件
12.2 MSXML
12.2.1 平台和许可证
12.2.2 支持技术
12.2.3 哪里可以得到它
12.2.4 可重用的设计和代码:DOM Walkers
12.2.5 实现DOMWalkerWizard
12.3 总结
IV 集成著名的C++模块
第十三章 为C++程序创建基于XML的扩展语言
13.1 从XML创建程序树对象
13.1.1 机理总览
13.1.2 语言的设计
13.1.3 基本原理
13.1.4 基本要素
13.1.5 变量和操作符
13.1.6 控制结构
13.1.7 创建对象结构
13.1.8 基本要素建模
13.1.9 控制结构建模
13.1.10 构造Term树
13.2 总结
第十四章 已发行C++XML应用程序:SOAP和XML—RPC
14.1 对问题的介绍
14.2 SOAP1.1
14.2.1 封套
14.2.2 SOAP编码
14.2.3 RPC约定
14.3 SOAP HTTP
14.3.1 MS C++SOAP实现
14.4 XML-RPC
14.4.1 请求和反馈
14.4.2 错误
14.5 独立C++计算器服务
14.6 独立的C++客户端
14.7 总结
第十五章 使用C++开发XML和数据库(ODBC和DAO)
15.1 XML在数据库描述中的角色
15.2 C++工具选项
15.2.1 中间件
15.3 适配器APIs
15.3.1 类特定伙伴
15.3.2 技术特定XML支持
15.3.3 外部C++数据库资源
15.4 总结
V 附录
附录A UML
A.1 类图
A.1.1 类
A.1.2 接口
A.1.3 关系
A.2 接口图
A.2.1 顺序图
A.2.2 协作图
附录B STL
B.1 STL性质和组件
B.1.1 容器
B.1.2 迭代器
B.1.3 通用算法
B.1.4 函数对象
B.1.5 适配器和分配器
B.1.6 STL头
附录C CD内容和说明
C.1 所需条件
C.2 平台
C.3 组织结构
C.4 安装说明
C.5 程序更新
C.6 有关Extra-Goodies文件夹
C.7 Splash Screens和CSS安装
第一章 XML:结构和概念
1.1 基本结构
1.1.1 元素、属性、和嵌套
1.1.2 XML声明
1.1.3 CDATA部分
1.1.4 处理指令
1.1.5 自然语言
1.1.6 格式正规
1.2 DTDs
1.2.1 元素类型声明
1.2.2 对DTD绑定文档
1.2.3 属性列表声明
1.2.4 表示法
1.2.5 稍作休息:关于“show DTD”
1.2.6 条件部分
1.2.7 实体
1.2.8 字符引用
1.2.9 内部和外部DTD子集
1.3 命名空间
1.3.1 基本原理
1.3.2 声明
1.3.3 通用名称和受限名称
1.3.4 在DTD中声明命名空间
1.4 总结
第二章 XML/C++概览
2.1 XML技术家族
2.1.1 核心XML
2.1.2 高级数据建模和验证
2.1.3 定位和链接技术
2.1.4 XML文档转换
2.2 APIs
2.2.1 通用基础API
2.2.2 特定词汇表API
2.3 应用程序
2.3.1 纯XML操作
2.3.2 相关的补充
2.3.3 分布式XML应用程序
2.3.4 案例学习
2.4 总结
II 用C++处理XML
第三章 事件驱动过程
3.1 事件驱动模式
3.2 Expat
3.2.1 实地介绍
3.2.2 语法树类
3.2.3 处理器
3.2.4 结果
3.2.5 expat的结构
3.2.6 基本函数
3.2.7 expat关于面向对象的封装
3.2.8 在Windows工程中集成expat(可选的)
3.3 其它C/C++工具箱
3.4 总结
第四章 SAX C++
4.1 实地介绍
4.1.1 文档类型
4.1.2 策略
4.2 SAX C++的结构
4.3 SAX 1.0
4.3.1 处理器
4.4 总结
第五章 SAX C++2.0及高级技术
5.1 通用接口
5.1.1 DTDHandler
5.1.2 ErrorHandler
5.1.3 使用ErrorHandler
5.1.4 基础处理器
5.2 SAX 2.0的专有接口和类
5.2.1 SAX 2.0和SAX1.0的主要不同
5.2.2 有关SAX2的一张图
5.2.3 源头:SAX2XMLReader
5.2.4 SAX2XMLReader方法
5.2.5 Reader工厂
5.2.6 助手和异常
5.3 总结
第六章 DOM Level 2.0
6.1 DOM基础
6.2 DOM发展历史
6.3 DOM性质
6.3.1 结构
6.4 一个实例:XML编辑器
6.5 核心接口导引
6.6 一个完整的例子:XML编辑器
6.7 总结
第七章 C++DOM高级操作
7.1 将文档模式绑定到本地模式
7.1.1 对问题的定义
7.1.2 问题
7.1.3 模型和视图与模型和结构
7.1.4 归纳方法
7.2 用检查者扩展DOM
7.2.1 统计检查者
7.2.2 命名空间检查者
7.3 总结和下一步的任务
第八章 SAX和DOM的高级C++特征
8.1 C++SAX和C++DOM
8.1.1 性能
8.1.2 关于设计
8.1.3 关于模式
8.2 C++SAX加C++DOM
8.2.1 DOMAsSAX适配器
8.3 C++SAX中的内存管理
8.3.1 字符串的分配和释放
8.4 C++DOM中的内存管理
8.4.1 C++中的字符编码
8.5 总结
III 使用与C++相夫的XML标准
第九章 XML模式、TREX和其它建模语言
9.1 XML模式:语言概述
9.1.1 XML模式的基本原理
9.1.2 类型
9.1.3 复杂类型与简单类型
9.1.4 匿名类型
9.1.5 目标命名空间
9.1.6 类型约束:各方面
9.1.7 关于XML模式语言的更多内容
9.2 XML模式的C++工具
9.2.1 在C++工程中嵌入模式验证器
9.2.2 存取XML模式信息
9.3 TREX:语言概述
9.3.1 模式
9.3.2 元素和属性
9.3.3 选择与循环
9.3.4 交叉
9.4 用于TREX的C++工具:Lorenza
9.4.1 作为应用程序运行Lorenza
9.4.2 嵌入Lorenza
9.4.3 有计划地得到模式结构信息
9.4.4 RELAX和Schematron
9.5 总结
第十章 C++中的XPath和XPointer
10.1 举例讲解XPath
10.1.1 文档
10.1.2 表达式及其值
10.2 正式开始XPath
10.2.1 模型:轴和节点
10.2.2 谓语
10.2.3 函数
10.3 Xpath的C++操作
10.3.1 Xalan中的XPath类
10.3.2 XPath类:角色和交互
10.3.3 实现XPath交互
10.4 XPointer
10.4.1 点
10.4.2 范围
10.4.3 定位集
10.4.4 附加函数
10.4.5 语法修饰
10.5 XPointer的C++操作
10.6 XPointer类
10.6.1 图形小说浏览器
10.7 总结
第十一章 XSLT转换
11.1 XSLT
11.1.1 转换过程
11.1.2 源文档
11.1.3 预期结果
11.1.4 在结果中插入数据
11.1.5 控制流
11.1.6 选择
11.1.7 循环
11.2 C++中的XSLT
11.2.1 “低级”API
11.2.2 “高级”API
11.2.3 示例应用程序:vxslt
11.2.4 更多的例子
11.3 总结
第十二章 工具包特性和框架实现
12.1 Xerces/Xalan
12.1.1 平台和许可证
12.1.2 支持技术
12.1.3 哪里可以得到它
12.1.4 什么是框架
12.1.5 XMLableFR( XMLable框架)
12.1.6 其他可高度重用的Xerces/Xalan软件
12.2 MSXML
12.2.1 平台和许可证
12.2.2 支持技术
12.2.3 哪里可以得到它
12.2.4 可重用的设计和代码:DOM Walkers
12.2.5 实现DOMWalkerWizard
12.3 总结
IV 集成著名的C++模块
第十三章 为C++程序创建基于XML的扩展语言
13.1 从XML创建程序树对象
13.1.1 机理总览
13.1.2 语言的设计
13.1.3 基本原理
13.1.4 基本要素
13.1.5 变量和操作符
13.1.6 控制结构
13.1.7 创建对象结构
13.1.8 基本要素建模
13.1.9 控制结构建模
13.1.10 构造Term树
13.2 总结
第十四章 已发行C++XML应用程序:SOAP和XML—RPC
14.1 对问题的介绍
14.2 SOAP1.1
14.2.1 封套
14.2.2 SOAP编码
14.2.3 RPC约定
14.3 SOAP HTTP
14.3.1 MS C++SOAP实现
14.4 XML-RPC
14.4.1 请求和反馈
14.4.2 错误
14.5 独立C++计算器服务
14.6 独立的C++客户端
14.7 总结
第十五章 使用C++开发XML和数据库(ODBC和DAO)
15.1 XML在数据库描述中的角色
15.2 C++工具选项
15.2.1 中间件
15.3 适配器APIs
15.3.1 类特定伙伴
15.3.2 技术特定XML支持
15.3.3 外部C++数据库资源
15.4 总结
V 附录
附录A UML
A.1 类图
A.1.1 类
A.1.2 接口
A.1.3 关系
A.2 接口图
A.2.1 顺序图
A.2.2 协作图
附录B STL
B.1 STL性质和组件
B.1.1 容器
B.1.2 迭代器
B.1.3 通用算法
B.1.4 函数对象
B.1.5 适配器和分配器
B.1.6 STL头
附录C CD内容和说明
C.1 所需条件
C.2 平台
C.3 组织结构
C.4 安装说明
C.5 程序更新
C.6 有关Extra-Goodies文件夹
C.7 Splash Screens和CSS安装
猜您喜欢