本书通过大量实例,全面详尽地介绍了扩展标识语言XML的各个方面,是一本有关XML实用技术的权威性著作。\r\n\r\n 全书内容共分为5大部分,包括XML的起源和发展;XML的多种应用领域,如飞行常客站点、拍卖站点、商务应用、比较购物站点、证券规范文档、扩展链接等;XML的多种应用实例,如日立半导体公司、华盛顿邮报、普罗维登斯旅游城市、国际标准化组织等;XML工具,如FrameMaker+SGML,ADEPT.Editor,XMetaL,DynaTag,XML Styler,Astoria,POET,HoT-MetaL,Junglee的虚拟DBMS等;XML技术,如创建文档类型定义,XML链接语言XLink、扩展样式语言XSL、XML的高级特性、WIDL。和XML RPC、XML-Data和XML SPECtacular标准。\r\n\r\n 本书内容丰富,讲述清晰,既适合于XML的用户作为技术手册,也适合于对XML感兴趣的人员的参考指南。\r\n\r\n \r\n
\r\n
第l部分 XML的创始人. 内容和成因 \r\n\r\n 第1章 XML的成因 \r\n\r\n 1. 1 文本格式化软件和SGML \r\n\r\n 1. 1. 1 格式化标记 \r\n\r\n 1. 1. 2 通用标记 \r\n\r\n 1. 2 HTML与万维网 \r\n\r\n 1. 2. 1 非正式的HTML扩展 \r\n\r\n 1. 2. 2 万维网的反应 \r\n\r\n 1. 3 小结 \r\n\r\n 第2章 XML的发展趋势 \r\n\r\n 2. 1 HTML之后 \r\n\r\n 2. 2 数据库发布 \r\n\r\n 2. 3 电子商务 \r\n\r\n 2. 4 元数据 \r\n\r\n 2. 5 万维网上的科学研究 \r\n\r\n 第3章 XML语言基本知识 \r\n\r\n 3. 1 目标 \r\n\r\n 3. 2 元素:逻辑结构 \r\n\r\n 3. 3 Unicode:字符集 \r\n\r\n 3. 4 实体:物理结构 \r\n\r\n 3. 5 标记 \r\n\r\n 3. 6 文档类型 \r\n\r\n 3. 7 成形性和合法性 \r\n\r\n 3. 8 超链接和寻址 \r\n\r\n 3. 9 样式表 \r\n\r\n 3. 10 小结 \r\n\r\n 第4章 实际应用中的XML \r\n\r\n 4. 1 XML描述的是文档还是数据 \r\n\r\n 4. 2 应用机会无限 \r\n\r\n 4. 2. 1 面向表现的信息发布 \r\n\r\n 4. 2. 2 面向消息的中间件 \r\n\r\n 4. 2. 3 两者的对立统一 \r\n\r\n 4. 2. 4 MOM和POP的完美结合 \r\n\r\n 4. 3 XML工具 \r\n\r\n 4. 4 XML术语解释 \r\n\r\n 4. 4. 1 结构化和非结构化 \r\n\r\n 4. 4. 2 标签和元素 \r\n\r\n 4. 4. 3 文档类型. DTD和标记声明 \r\n\r\n 4. 4. 4 文档. XML文档和文档实例 \r\n\r\n 4. 4. 5 编程. 编码和标记 \r\n\r\n 4. 5 小结 \r\n\r\n 第2部分 XML的应用领域 \r\n\r\n 第5章 个人化的飞行常客万维站点 \r\n\r\n 5. 1 目前的飞行常客站点 \r\n\r\n 5. 2 目前的万维网模型存在的问题 \r\n\r\n 5. 3 在万维网上进行交易的更好的模型 \r\n\r\n 5. 4 一个使用XML的飞行常客站点 \r\n\r\n 5. 5 理解Softland航空公司的方案 \r\n\r\n 5. 6 迈向全新的万维网 \r\n\r\n 第6章 建立一个在线拍卖万维站点 \r\n\r\n 6. 1 从中间层获取数据 \r\n\r\n 6. 1. 1 定义XML文档的结构 \r\n\r\n 6. 1. 2 用ASP文件生成XML文档 \r\n\r\n 6. 1. 3 从多个数据库中生成XML \r\n\r\n 6. 1. 4 从数据库和XML数据源中生成XML \r\n\r\n 6. 2 建立用户界面 \r\n\r\n 6. 2. 1 使用过程化脚本 \r\n\r\n 6. 2. 2 使用描述性数据绑定 \r\n\r\n 6. 3 从客户方更新数据 \r\n\r\n 6. 4 小结 \r\n\r\n 第7章 XML和EDI:新型万维网商务应用 \r\n\r\n 7. 1 EDI是什么 \r\n\r\n 7. 1. 1 外联网解决不了的问题 \r\n\r\n 7. 1. 2 XML可以解决这些问题 \r\n\r\n 7. 1. 3 新型的EDI \r\n\r\n 7. 1. 4 无处不在的EDI量子跃迁式的前进 \r\n\r\n 7. 1. 5 EDI的价值 \r\n\r\n 7. 2 传统的EDI, 建立在过时的原则上 \r\n\r\n 7. 2. 1 EDI的历史 \r\n\r\n 7. 2. 2 EDI的技术基础 \r\n\r\n 7. 2. 3 传统EDI存在的问题 \r\n\r\n 7. 3 新型EDI:XML和因特网的结合 \r\n\r\n 7. 3. 1 XML \r\n\r\n 7. 3. 2 因特网 \r\n\r\n 7. 3. 3 因特网技术 \r\n\r\n 7. 3. 4 XML数据存储 \r\n\r\n 7. 3. 5 数据过滤 \r\n\r\n 7. 4 小结 \r\n\r\n 第8章 供应链集成 \r\n\r\n 8. 1 链接成一个供应链 \r\n\r\n 8. 2 供应链集成要求 \r\n\r\n 8. 3 B2B集成服务器 \r\n\r\n 8. 4 系统慨述 \r\n\r\n 8. 5 制造商服务 \r\n\r\n 8. 5. 1 B2B插件 \r\n\r\n 8. 5. 2 服务器存根 \r\n\r\n 8. 5. 3 XML请求和应答 \r\n\r\n 8. 5. 4 Java瘦客户程序 \r\n\r\n 8. 5. 5 制造商的接口规范 \r\n\r\n 8. 6 供应商服务 \r\n\r\n 8. 6. 1 客户存根 \r\n\r\n 8. 6. 2 供应商接口规范 \r\n\r\n 8. 7 小结 \r\n\r\n 第9章 比较购物服务站点 \r\n\r\n 9. 1 在线购书 \r\n\r\n 9. 2 Junglee购物指南 \r\n\r\n 9. 3 购物指南是如何工作的 \r\n\r\n 9. 4 小结 \r\n\r\n 第10章 自然语言翻译 \r\n\r\n 10. 1 错误是要付出代价的 \r\n\r\n 10. 2 世界很小 \r\n\r\n 10. 3 商业挑战 \r\n\r\n 10, 3. 1 控制费用 \r\n\r\n 10. 3. 2 快节奏的产品开发 \r\n\r\n 10. 3. 3 多种文档 \r\n\r\n 10. 4 当今的翻译 \r\n\r\n 10. 5 新方向 \r\n\r\n 10. 5. 1 组件 \r\n\r\n 10. 5. 2 通过复用减少重复工作 \r\n\r\n 10. 5. 3 用版本控制来识别改动的地方 \r\n\r\n lo. 5. 4 对齐原则使写作和翻译能并发进行 \r\n\r\n 10. 6 在现实生活中 \r\n\r\n 第11章 证券规范文档 \r\n\r\n 11. 1 将XML文档可视化 \r\n\r\n 11. 2 用XML提交EDGAR报告 \r\n\r\n 11. 2. 1 考察EDGAR DTD \r\n\r\n 11. 2. 2 创建DTD的实例 \r\n\r\n 11. 2. 3 检查EDGAR实例的一致性 \r\n\r\n 11. 2. 4 修正不一致元素 \r\n\r\n 11. 2. 5 生成EDGAR提交文档 \r\n\r\n 11. 2. 6 向SEC提交文档 \r\n\r\n 11. 2. 7 将文档放到万维站点上 \r\n\r\n 11. 3 小结 \r\n\r\n 第12章 帮助桌面自动化 \r\n\r\n 12. 1 完善帮助桌面 \r\n\r\n 12. 1. 1 陈旧的方式 \r\n\r\n 12. 1. 2 要做些什么 \r\n\r\n 12. 1. 3 改进帮助桌面 \r\n\r\n 12. 2 解决方案系统是如何工作的 \r\n\r\n 12. 2. 1 信息流程 \r\n\r\n 12. 2. 2 体系结构 \r\n\r\n 12. 3 使用帮助桌面解决方案系统 \r\n\r\n 12. 3. 1 产生查询请求 \r\n\r\n 12. 3, 2 研究产品信息 \r\n\r\n 12. 3. 3 编写一个解决方案 \r\n\r\n 12. 3. 4 更新仓库 \r\n\r\n 12. 3. 5 转给别人以获得批准 \r\n\r\n 12. 3. 6 在知识仓库中登入文档 \r\n\r\n 第13章 扩展链接 \r\n\r\n 13. 1 修理厂备忘录应用 \r\n\r\n 13. 1. 1 什么是扩展链接 \r\n\r\n 13. 1. 2 显示扩展链接 \r\n\r\n 13. 1. 3 备忘录在手册的新版本中照样存在 \r\n\r\n 13. 14 供应商也能使用这些备忘录 \r\n\r\n 13. 2 扩展链接的其他应用 \r\n\r\n 13. 2. 1 人们感兴趣的公共资源群 \r\n\r\n 13. 2. 2 引导性文档 \r\n\r\n 13. 2. 3 计算机增加存储 \r\n\r\n 13. 2. 4 智能特性管理 \r\n\r\n 13. 3 强链接类型 \r\n\r\n 13. 3. 1 隐藏安装日志 \r\n\r\n 13. 3. 2 为什么需要强链接类型 \r\n\r\n 13. 3. 3 定位点角色的识别 \r\n\r\n l3. 4 小结 \r\n\r\n 第3部分 XML的应用案例 \r\n\r\n 第14章 日立半导体公司 \r\n\r\n 14. 1 简介 \r\n\r\n 14. 2 商业案例 \r\n\r\n 14. 3 第一阶段:创建一个单独的源文件 \r\n\r\n 14. 4 第二阶段:自动转换为XML \r\n\r\n 14. 5 轻松愉快的发布 \r\n\r\n 14. 6 基于万维网的搜索工具 \r\n\r\n 14. 7 对节省费用的计算 \r\n\r\n 14. 8 小结 \r\n\r\n 第15章 华盛顿邮报 \r\n\r\n l5. 1 邮报站点 \r\n\r\n 15. 2 在线搜索招聘信息 \r\n\r\n 15. 2. 1 Andersen Consulting站点 \r\n\r\n l5. 2. 2 CACI International站点 \r\n\r\n 15. 2. 3 CareerPost \r\n\r\n 15. 3 JobCanopy是如何工作的 \r\n\r\n 15. 4 小结 \r\n\r\n 第16章 Frank Bussell公司 \r\n\r\n 16. 1 背景 \r\n\r\n 16. 2 工程战略考虑 \r\n\r\n 16. 2. 1 从理论抽象到实践应用 \r\n\r\n 16. 2. 2 按可测量的投资回报分期交付 \r\n\r\n 16. 2. 3 研究工作与重点工程的开发并行进行 \r\n\r\n 16. 2. 4 与公司的整体战略协调一致 \r\n\r\n 16. 2. 5 由执行委员会发起 \r\n\r\n 16. 3 明确需求 \r\n\r\n 16. 3. 1 商业需求 \r\n\r\n 16. 3. 2 技术需求 \r\n\r\n 16. 4 创建一个抽象的体系结构 \r\n\r\n 16. 5 实现应用 \r\n\r\n 16. 5. 1 现实世界中的设计问题 \r\n\r\n 16. 5. 2 文档表示法 \r\n\r\n 16. 5. 3 分阶段的实现计划 \r\n\r\n 16. 6 小结 \r\n\r\n 第17章 发现代理 \r\n\r\n 17. 1 发现代理 \r\n\r\n l7. 2 提出设想 \r\n\r\n 17. 2. 1 访问与集成 \r\n\r\n 17. 2. 2 解决方案:万维网自动化 \r\n\r\n 17. 3 什么是万维网自动化 \r\n\r\n 17. 4 发现共同点 \r\n\r\n 17. 5 用XML行吗 \r\n\r\n 17. 6 体系结构原理 \r\n\r\n 17. 7 小结 \r\n\r\n 第18章 大公司 \r\n\r\n 18. 1 背景 \r\n\r\n 18. 2 第一代:客户/服务器模型 \r\n\r\n 18. 3 第二代:三层模型 \r\n\r\n 18. 3. 1 数据抽取 \r\n\r\n 18. 3. 2 数据库维护 \r\n\r\n 18. 4 小结 \r\n\r\n 第19章 普罗维登斯市 \r\n\r\n 19. 1 普罗维登斯指南的原型 \r\n\r\n 19. 2 信息体系结构 \r\n\r\n 19. 3 转换为XML \r\n\r\n 19. 4 生成电子书 \r\n\r\n 19, 4. 1 使用多个样式表 \r\n\r\n 19. 5 通过万维网交付 \r\n\r\n 19. 6 动态万维网交付 \r\n\r\n 19. 7 更新XML数据 \r\n\r\n 19. 8 校正电子书 \r\n\r\n 19. 9 小结 \r\n\r\n 第20章 国际标准化组织 \r\n\r\n 20. 1 ISO 12083:为出版商创建的DTD \r\n\r\n 20. 2 将ISO 12083改编成XML \r\n\r\n 20. 2. 1 自动修改 \r\n\r\n 20. 2. 2 辅助修改 \r\n\r\n 20. 2. 3 其他修改 \r\n\r\n 20. 3 小结 \r\n\r\n 第4部分 XML工具 \r\n\r\n 第21章 prameMaker十SGML:编辑和排版 \r\n\r\n 21. 1 权衡信息 \r\n\r\n 21. 2 XML创作功能 \r\n\r\n 21. 2. 1 引导性编辑 \r\n\r\n 21. 2. 2 创作的灵活性 \r\n\r\n 21. 2. 3 问题更正 \r\n\r\n 21. 2. 4 创作工具 \r\n\r\n 21. 2. 5 管理外部内容 \r\n\r\n 21. 2. 6 成形性支持 \r\n\r\n 21. 3 自动格式化和排版 \r\n\r\n 21. 3. 1 基于规则的格式化方法 \r\n\r\n 21. 3. 2 交互式的格化化方法 \r\n\r\n 21. 4 文档片断 \r\n\r\n 21. 5 发布文档 \r\n\r\n 21. 5. 1 纸张发布 \r\n\r\n 21. 5. 2 在线发布 \r\n\r\n 21. 6 定制和准备 \r\n\r\n 21. 6. 1 DTD定制 \r\n\r\n 21. 6. 2 定义格式化规则 \r\n\r\n 21. 6. 3 可扩展性 \r\n\r\n 第22章 ADEPT. Editor:用于内容管理的编辑器 \r\n\r\n 22. 1 自动文档系统 \r\n\r\n 22. 1. 1 结构 \r\n\r\n 22. 1. 2 内容管理 \r\n\r\n 22. 2 什么信息需要使用这些工具 \r\n\r\n 22. 2. 1 大信息量 \r\n\r\n 22. 2. 2 多种出版物 \r\n\r\n 22. 2. 3 高价值 \r\n\r\n 22. 2. 4 长生命期 \r\n\r\n 22. 2. 5 可复用 \r\n\r\n 22. 2. 6 一致性 \r\n\r\n 22. 2. 7 由形式化处理过程创建 \r\n\r\n 22. 3 要考虑的特性 \r\n\r\n 22. 3. 1 创作问题 \r\n\r\n 22. 3. 2 开发问题 \r\n\r\n 22. 3. 3 商业问题 \r\n\r\n 第23章 XMetaL:友好的XML编辑器 \r\n\r\n 23. 1 熟悉的界面 \r\n\r\n 23. 2 HTML标记转换 \r\n\r\n 23. 3 结构化编辑 \r\n\r\n 23. 3. 1 多个视图 \r\n\r\n 23. 3. 2 表格 \r\n\r\n 23. 3. 3 有名书签 \r\n\r\n 23. 3. 4 样本和模板 \r\n\r\n 23. 3. 5 与上下文有关的样式 \r\n\r\n 23. 3. 6 缺省的HTML样式 \r\n\r\n 23. 3. 7 直接DTD处理 \r\n\r\n 23. 3. 8 定制 \r\n\r\n 23. 4 把XML功能推广到公司以外的创作者 \r\n\r\n 第24章 DynaTag:可视转换环境 \r\n\r\n 24. 1 文档转换的概念 \r\n\r\n 24. 1. 1 数据援救 \r\n\r\n 24. 1. 2 样式服务于合义 \r\n\r\n 24. 2 用DynaTag来转换文档 \r\n\r\n 24. 2. 1 开始 \r\n\r\n 24. 2. 2 映射 \r\n\r\n 24. 3 为电子发布作准备 \r\n\r\n 第25章 XML Styler:图形化的XSL样式表编辑器 \r\n\r\n 25. 1 XSL简介 \r\n\r\n 25. 2 用XML Styler创建样式表 \r\n\r\n 25. 3 XSL模式 \r\n\r\n 25. 4 XSL动作 \r\n\r\n 25. 4. 1 HTML/CSS流对象 \r\n\r\n 25. 4. 2 DSSSL流对象 \r\n\r\n 25. 5 小结 \r\n\r\n 第26章 Astoria:灵活的内容管理 \r\n\r\n 26. 1 到处都是组件 \r\n\r\n 26. 1. 1 出版过程中的组件 \r\n\r\n 26. 1. 2 XML产生组件 \r\n\r\n 26. 1. 3 有关内容复用的应用 \r\n\r\n 26. 2 一个内容管理系统的实现 \r\n\r\n 26. 2. 1 校正跟踪 \r\n\r\n 26. 2. 2 搜索 \r\n\r\n 26. 2. 3 动态文档组装 \r\n\r\n 第27章 POET:内容管理套件 \r\n\r\n 27. 1 管理信息生存周期 \r\n\r\n 27. 1. 1 信息生存周期的变化 \r\n\r\n 27. 1. 2 万维网改变了信息生存周期规则 \r\n\r\n 27. 1. 3 面向对象的组件 \r\n\r\n 27. 2 POET内容管理套件 \r\n\r\n 27. 2. 1 POET CMS组件 \r\n\r\n 27. 2. 2 POET CMS体系结构 \r\n\r\n 27. 2. 3 使用POET CMS \r\n\r\n 第28章 HoTMetaL:应用服务器 \r\n\r\n 28. 1 动态描述性标记 \r\n\r\n 28. 2 HoTMetaL APPS是怎样工作的 \r\n\r\n 28. 2. 1 中间层服务器标签 \r\n\r\n 28. 2. 2 动态页面的引导性构造 \r\n\r\n 28. 3 友好的功能 \r\n\r\n 第29章 Junglee 的虚拟DSMS \r\n\r\n 29. 1 使用虚拟数据库技术的原因 \r\n\r\n 29. 2 VDBMS是怎样工作的 \r\n\r\n 29. 2. 1 包装器开发工具包 \r\n\r\n 29. 2. 2 抽取器开发工具包 \r\n\r\n 29. 2. 3 VDB服务器和数据质量工具包 \r\n\r\n 29. 2. 4 管理员界面 \r\n\r\n 29. 3 VDB技术的应用 \r\n\r\n 第30章 免费XML软件 \r\n\r\n 30. 1 “免费”意味着什么 \r\n\r\n 30. 2 最好的XML免费软件 \r\n\r\n 30. 2. 1 语法分析器引擎 \r\n\r\n 30. 2. 2 编辑和写作工具 \r\n\r\n 30. 2. 3 控制信息开发工具 \r\n\r\n 30. 2. 4 转换工具 \r\n\r\n 30. 2. 5 电子交付工具 \r\n\r\n 30. 2. 6 资源 \r\n\r\n 第5部分 XML技术 \r\n\r\n 第31章 XML基础 \r\n\r\n 31. 1 语法细节 \r\n\r\n 31. 1. 1 大小写 \r\n\r\n 31. 1. 2 标记和数据 \r\n\r\n 31. 1. 3 空白符 \r\n\r\n 31. 1. 4 名字和名字单词符号 \r\n\r\n 31. 1. 5 文字字符串 \r\n\r\n 31. 1. 6 语法规则 \r\n\r\n 31. 2 序言与实例 \r\n\r\n 31. 3 逻辑结构 \r\n\r\n 31. 4 元素 \r\n\r\n 31. 5 屈性 \r\n\r\n 31. 6 序言 \r\n\r\n 31. 6. 1 XML声明 \r\n\r\n 31. 6. 2 文档类型声明 \r\n\r\n 31. 7 其他标记 \r\n\r\n 31. 7. 1 预定义实体 \r\n\r\n 31. 7. 2 CDATA段 \r\n\r\n 31. 7. 3 注释 \r\n\r\n 31. 8 小结 \r\n\r\n 第32章 创建文档类型定义 \r\n\r\n 32. 1 文档类型声明 \r\n\r\n 32. 2 内部和外部子集 \r\n\r\n 32. 3 元素类型声明 \r\n\r\n 32. 4 元素类型内容说明 \r\n\r\n 32. 4. 1 Empty内容 \r\n\r\n 32. 4. 2 ANY内容 \r\n\r\n 32. 4. 3 混合内容 \r\n\r\n 32. 5 内容模型 \r\n\r\n 32. 6 属性 \r\n\r\n 32. 6. 1 属性表声明 \r\n\r\n 32. 6. 2 默认属性值 \r\n\r\n 32. 6. 3 属性类型 \r\n\r\n 32. 7 表示法声明 \r\n\r\n 第33章 很容易分解的实体 \r\n\r\n 33. 1 概述 \r\n\r\n 33. 2 实体细节 \r\n\r\n 33. 3 实体分类 \r\n\r\n 33. 4 内部一般实体 \r\n\r\n 33. 5 外部需要语法分析的一般实体 \r\n\r\n 33. 5. 1 对外部需要语法分析的实体的支持是可选的 \r\n\r\n 33. 6 无需语法分析的实体 \r\n\r\n 33. 7 内部和外部参数实体 \r\n\r\n 33. 8 标记不能跨越实体边界 \r\n\r\n 33. 8. 1 正确的参数实体引用 \r\n\r\n 33. 9 外部标识符 \r\n\r\n 33. 9. 1 系统标识符 \r\n\r\n 33. 9. 2 公共标识符 \r\n\r\n 33. 10 小结 \r\n\r\n 第34章 XML链接语言(XLink) \r\n\r\n 34. 1 基本概念 \r\n\r\n 34. 1. 1 简单链接 \r\n\r\n 34. 1. 2 链接角色 \r\n\r\n 34. 1. 3 这个方法是否现实 \r\n\r\n 34. 1. 4 链接行为 \r\n\r\n 34. 2 扩展链接 \r\n\r\n 34. 2. 1 locator元素 \r\n\r\n 34. 2. 2 链接组 \r\n\r\n 31. 3 寻址 \r\n\r\n 34. 3. 1 统一资源标识符(URI) \r\n\r\n 34. 3. 2 指向ID \r\n\r\n 34. 3. 3 位置项 \r\n\r\n 34. 4 小结 \r\n\r\n 第35章 扩展样式语言(XSL) \r\n\r\n 35. 1 XSL综述 \r\n\r\n 35. 1. 1 XSL样式表 \r\n\r\n 35. 2 引用XSL样式表 \r\n\r\n 35. 3 规则. 模式和动作 \r\n\r\n 35. 4 流对象 \r\n\r\n 35. 5 使用XSL \r\n\r\n 35. 6 模式 \r\n\r\n 35. 7 动作 \r\n\r\n 35. 8 流对象和特征 \r\n\r\n 35. 9 XSL和JavaScript \r\n\r\n 第36章 高级特性 \r\n\r\n 36. 1 条件性部分 \r\n\r\n 36. 2 字符引用 \r\n\r\n 36. 3 处理指令 \r\n\r\n 36. 4 独立文档声明 \r\n\r\n 36. 5 这就是所有的内容吗 \r\n\r\n 第37章 阅读XML规范 \r\n\r\n 37. 1 xML语法规则一瞥 \r\n\r\n 37. 2 常量字符串 \r\n\r\n 37. 3 名字 \r\n\r\n 37. 4 重现指示符 \r\n\r\n 37. 5 组合规则 \r\n\r\n 37. 6 小结 \r\n\r\n 第38章 WIDL和XML RPC \r\n\r\n 38. 1 只有XML是不够的 \r\n\r\n 38. 1. 1 缺少的东西 \r\n\r\n 38. 1. 2 WIDL的角色 \r\n\r\n 38. 2 作为IDL的WIDL \r\n\r\n 38. 2. 1 方法 \r\n\r\n 38. 2. 2 记录 \r\n\r\n 38. 3 远程过程调用 \r\n\r\n 38. 3. 1 用XML表示RPC消息 \r\n\r\n 38. 3. 2 一般和定制消息DTD \r\n\r\n 38. 4 集成应用系统 \r\n\r\n 38. 4. 1 存根 \r\n\r\n 38. 4. 2 文档映射 \r\n\r\n 38. 5 获得的互操作性 \r\n\r\n 第39章 XML-Data \r\n\r\n 39. 1 简介 \r\n\r\n 39. 2 模式元素类型 \r\n\r\n 39. 3 元素类型声明 \r\n\r\n 39. 4 特性和内容模型 \r\n\r\n 39. 4. 1 元素 \r\n\r\n 39. 4. 2 空. 任意. 字符串和混合内容 \r\n\r\n 39. 4. 3 组 \r\n\r\n 39. 4. 4 开放和闭合内容模型 \r\n\r\n 39. 5 缺省值 \r\n\r\n 39. 6 别名和相互关系 \r\n\r\n 39. 7 类层次关系 \r\n\r\n 39. 8 作为引用的元素 \r\n\r\n 39. 8. 1 一对多关系 \r\n\r\n 39. 8. 2 多部分关键字 \r\n\r\n 39. 9 作为引用的属性 \r\n\r\n 39. 10 约束和附加特性 \r\n\r\n 39. 10. 1 min和max约束 \r\n\r\n 39. 10. 2 其他有用的特性 \r\n\r\n 39. 11 使用其他模式中的元素 \r\n\r\n 39. 12 XML专用元素 \r\n\r\n 39. 12. 1 属性 \r\n\r\n 39. 13 实体声明元素类型 \r\n\r\n 39. 14 外部声明元素类型 \r\n\r\n 39. 15 数据类型 \r\n\r\n 39. 15. 1 在API中表示数据类型 \r\n\r\n 39. 15. 2 复杂数据类型 \r\n\r\n 39. 15. 3 实例版本 \r\n\r\n 39. 15. 4 数据类型名字空间 \r\n\r\n 39. 15. 5 数据类型URI的意义 \r\n\r\n 39, 15. 6 结构化数据类型属性 \r\n\r\n 39. 15. 7 具体数据类型 \r\n\r\n 39. 16 模式之间的映射 \r\n\r\n 39. 17 附录A:一些例子 \r\n\r\n 39. 18 附录B:XML-Data模式的一个XML DTD \r\n\r\n 第40章 XML SPECtacular \r\n\r\n 40. 1 基本标准 \r\n\r\n 40. 1. 1 国际标准 \r\n\r\n 40. 1. 2 W3C建议 \r\n\r\n 40. 2 XML应用 \r\n\r\n 40. 2. 1 W3C建议 \r\n\r\n 40. 2. 2 其他 \r\n\r\n \r\n
\r\n
XML的世界
HTML一出现, 就给信息发布带来了新景象:全世界的人都可以在万维网上发布文档.
在网上展示信息已经不仅仅局限于计算机业界了, 它已经成为咖啡屋中人们谈论的话题. 一
夜之间, 似乎所有的人都有了自己的网页.
现在XML正在带来同样的景象. 以前数据是以神秘的二进制方式存储的, 而现在即使
是普通人也可以阅读和创建各种数据, 因为现在它们是文本形式的. 有了XML, 普通人也有
能力设计和制作自己的数据, 还能够修改和控制这些数据. 这种变革的意义是非常深远的,
不仅意味着更多的人能够访问数据, 还意味着人们能访问更多的数据. 世界正面临着数据爆
炸, 而XML就是导火索.
通过向万维网注入数据, XML使万维网成为人们交流和做生意的更好的场所. XML允
许我们做更精确的查询. 交付软件组件以及将这些事情描述为一系列网页和电子商务事务
等等. XML不仅改变着我们对数据的看法, 还改变着对万维网的看法.
同时, XML还改变着我们对传统桌面应用的看法. 笔者已经亲眼看到XML已经影响
了从字处理和电子表到数据库管理系统和电子邮件等所有类型的应用. 这些应用越来越多
地转移到万维网上, 使万维网更加异彩纷呈. 那个孤立而互不兼容的应用的时代已经过去
了, 现在是通用的数据访问和共享数据的时代.
XML标准的设计目标是提出一种非常简单的标记语言, 并尽可能地减少抽象概念.
Microsoft公司的成功在很大程度上取决于它能开发出具有大量市场需求的产品. 我们希望
XML也具有这种大量的市场需求. Jon Bosak以及其他一些SGML领域中的长期伙伴C.
M. Sperberg-McQueen, James Clark, Tim Bray, Steve DeRose, Eve Maler, Eliot Kimber, Dave
Hollander, Makoto Murata和Peter Sharpe等人, 与笔者一起在万维网协会(W3C)共同起草
了XML规范. 此规范达到了预期的目标.
在1996年秋天以前, Microsoft中的很多小组, 包括Office小组. 电子商务版站点服务器
小组. 数据访问小组等等, 都在寻求建立一种具有网上互操作性的开放文档格式. 正是在那
时, 出现了“频道定义格式”(Channel Definition Format, CDF). CDF是XML在网上的第一
个主要应用, 它难以置信地很快获得了成功, 而XML也成为了网上的燎原之火.
在随后的数个月里, Microsoft内部的每个小组都陆续使用XML编写应用程序. 周围的
开发人员都在转向XML. 他们发狂般地开始用XML开发应用程序, 因为XML表示数据的
简单的语法正好满足了他们的需要. 这股风潮相当猛烈, 结果到1997年10月, 比尔·盖茨
宣布XML是“一个突破性的技术”. 从此以后, XML就再也没有后顾之忧了.
这本书是学习和使用XML的一个很好的起点. 作为SGML的发明者, Charles F. Gold-
farb博士是在结构化信息领域最受尊重的权威之一. Charles对XML有直接的影响, 因为
XML是SGML的一个真正的子集. Charles也清楚地认识到XML将会对数据驱动的基于
万维网的应用产生很大影响.
用户或公司的最宝贵的财富是数据, 它可以用一种简单. 灵活. 可读的形式来开放式地进行表达. 这样一来, 数据可以非常容易地在服务器与服务器. 服务器与客户. 应用程序与应用程序之间传递, 使任何人在任何地方都能互相通信. 这种希望现在已经可以通过XML实现了.
万维网正在发生根本性的转变. 它将为用户引入更奇妙的服务, 同时也为万维网站点开发人员和站点业务提供更多令人惊异的机会.
超文本标记语言——HTML使万维网成为了世界性的图书馆. 现在它的兄弟, 扩展标记语言——XML已开始将万维网变成世界性的商业和金融中心. XML已正式批准为W3C的建议标准, 而且人们已经编写了上百万个XML文件, 其数量每天都在增加.
对XML和HTML做一个比较, 就能理解为什么XML会流行了. 它们都基于一种结构化信息的国际标准SGML, 但还是有一些区别:
HTML文档:
<p>P200 膝上型电脑
<br> 友好计算机商店
<br>$1438
XML文档:
<product>
<model>P200 膝上型电脑</model>
<dealer> 友好计算机商店</dealer>
<price>$1438</price>
</product>
它们在浏览器中看起来的效果都是一样的, 但XML所描述的数据是“智能”的数据.
HTML只说明数据看起来应该是什么样, 而XML则说明数据是什么意思.
从上面的XML文档中, 浏览器会知道有一种产品(product), 还知道它的型号(model). 经销商(dealer)和价格(Price). 浏览器可以通过一组这样的信息找到最便宜的产品或离得最近的经销商, 而不用再次访问服务器.
与HTML不同, 使用XML可以创建自己的标记, 这些标记可以更准确地描述用户所要的东西. 这样, 客户端应用就可以访问万维网上任何地方任何格式的数据源. 新的“中间层”服务器位于数据源和客户端之间, 可以将所有内容翻译成用户任务所需的XML.
XML数据不仅是“智能”的数据, 还是“智能”的文档. 这意味着当信息显示出来时, 可以用不同的字体显示型号与经销商, 还可以用更醒目的绿色显示最低价. 与HTML中一成不变的文本不同, 在XML中, 文本是“智能”的, 可以自己控制显示方式.
用户可以完全不管信息到底是数据还是文档, 在xML里, 所有的信息既是数据, 也是文档. 用户可以做数据处理, 也可以做文档处理, 或者两者都做.
毋庸置疑, 有了这样的灵活性, 一个全新的由“智能”的结构化信息构成的万维网时代越开始了. 经纪人可以用XMI, 将帐目数据发往Quicken. 采用了“推”(push)技术的频道定义用的也是XMI. 从数学到多媒体, 从化学到商业网的所有领域都正在或准备使用XML.
欢迎来到这个全新的万网世界.
SCML是什么
本书是讲述XML的. 在这本书中没有关于XML与SGML的特性比较的内容, 也没有任何钻牛角尖的脚注, 比如:“XML的空元素标记并不违反任何一个元素都有一个起始标记和一个结束标记的规则, 因为用SGML的术语来讲, 空元素标记实际上是一个起始标记紧跟着一个空的结束标记. ”(我这里已经钻牛角尖了, 可是这只是为了说明问题. )
不管怎样, 对于使用SGML的用户来说, 这里有必要说明一下XML和SGML的关系.
已经有很多人对此进行了毫无根据的猜测.
有些人声称XML将代替SGML, 因为将出现很多免费或低价的XML软件. 另外一些人断定XML用户将像HTML用户一样需要更多的SGML内容, 从而最后转向整个SGML 标准.
两种断言都是毫无意义的……XML和SGML甚至没有任何竞争关系.
XML是SGML的一个简化子集. 这种简化是根据万维网本身的特色采取的最优方案, 是面向数据处理(而不是面向信息发布). 短生命期的信息(实际上, 通常是动态生成的信息). XML文档的大部分内容是由计算机程序产生的, 并由其他程序来处理, 然后释放掉. 人们根本就看不到它.
Eliot Kimber作为XML和SGML标准委员会的成员, 他说:
“XML可能不能满足某些使用领域的要求, 这时就需要使用SGML的某些特性了. 这些应用规模一般都非常大, 而且使用周期很长, 例如飞机管理信息. 政府条令. 电站文档等.
任何一个这样的应用所包含的信息规模, 都可能比万维网上的所有XML应用的信息规模总和还要大. 例如, 对于某个型号的商用飞机来说, 每个季度都有400万页的文档需要修正和再版. 想象一下像空中客车和波音这样的飞机公司, 所有型号的飞机的文档该有多么大的规模. ”
笔者发明了SGML, 并对它能够表示世界上如此惊人的大规模的要求严格的信息而感到敬畏.
笔者也为XML感到自豪. 并为Jon Bosak感到自豪, 是他促成了XML. XML正在成为万维网的基础, 很多人为此感到兴奋.
即使对XML不熟悉, 也完全可以相信它. 要知道XML是SGML的一个子集, 而 SGML已经经过了十多年的使用, 所以可以信任它.
如果要制作的文档的规模像空中客车和波音公司的一样大, 就应当考虑SGML. 否则, 应当用XML.
关于赞助商
对于像XML这样一个有着各种各样说法的技术热点来说, 一个新手很难区分哪些东西是实在的项目和真正的应用, 而哪些东西是虚张声势和凭空幻想. 本书旨在帮助那些拥有实际产品和应用的公司, 为它们提供足够详细的说明, 然后由用户自己来判断哪些东西是可信的.
本书的部分章节讲述了XML的实际应用, 通过在用户应用或原型的实施过程中取得的实际经验, 来类推XML的其他用途. 本书的实例研究总结了在一些知名企业中使用XML的经验.
有些应用和实例研究是在正式的XML出来之前进行的, 用的是完整的SGML, 但用XML也能做到. 本书在讲述这些应用和实例时将假定它们是用XML实现的. 人们使用XML的核心功能已经超过了10年, 这也在一定程度上证明了XML的生命力.
在有关工具的那些章中, 笔者力图告诉用户在使用多种不同的XML工具时所取得的经验, 这样用户就不必自己费力去获取和安装这些工具的评价版本了. 这些章中还提供了有关XML的使用方法及其好处的一些一般性知识, 作为对前面面向应用的内容的补充.
本书还有两章是针对与XML有关的新技术的. 这两章得到了赞助.
受赞助的章都标出了赞助商的名字, 有时还标出了撰写原始文字的专家的名字. 为了将这些章有机组合起来, 笔者对其进行了编辑. 编辑的目的是为了使全书所使用的术语和风格保持一致, 同时也删除了一些重复的内容. 修改的结果是忠实于原文作者的, 展示了他们的应用或产品中最重要的特征.
赞助计划由L. A. Burman Associates公司的总裁Linda Burman组织. 该公司为XML和SGML业界提供有关市场和商业开发的咨询服务.
本书的14个资助商是:
. Adobe Systems Incorporated, http://Www. adobe. com
. ArborText, Inc., http://www, arbortext. com
. Chrystal Software, http://www. chrystal. com
. Frank Russcll Company Advanced Technology Labs, http://www. russell. com
. Inso Corporation, http://www. inso. com
. Interleaf, Inc. , http://www. interleaf. com
. ISOGEN International, http://www. isogen. com
. Junglee Corporation, httP://www. junglee. com
. Micrrosoft Corporation, http://www, microsoft. com
. Microstar Software Ltd. , httP://www. microstar. com
. POET Corporation, http://www. poet. com
. SoftQuad Inc. , httP://www. sq. com
. TeXcel International, http://www. texcel. com
. webMethods, http://www. webmethods. com
Charles F. Goldfarb
1998年5月15日于加州
无封面