Microsoft Office System 和 XML:将 XML 引入到桌面中
Peter Kelly
3Sharp,LLC
2003 年 9 月
适用于:
Microsoft® Office System
摘要:探讨 Microsoft Office System 如何通过支持 Microsoft Office Word 2003 和 Microsoft Office Excel 2003 中的自定义架构将 XML 引入到桌面中,并使用 Microsoft Office FrontPage 2003 作为基于 XML 的站点的创作环境,同时使用 XML 作为 Microsoft Office InfoPath 2003 自身的文件格式。我们将概要介绍 XML 以及如何使用它从 Office 文档中检索数据。(本文包含一些指向英文站点的链接。)
目录
主要概念和定义
Microsoft Office System 中的 XML 概述
XML 如何使 Microsoft Office System 数据更有价值
XML 在特定 Office 2003 应用程序中的作用
充分利用 Microsoft Office System 中的 XML 支持
小结
参考
主要概念和定义
XML 可扩展标记语言 (eXtensible Markup Language) 是一种以结构化的开放格式描述数据的元数据定义语言。
XML 架构 有效的 XML 文件,用于定义其他 XML 文件的结构。
XSLT 可扩展样式表语言转换 (eXtensible Stylesheet Language Transformation) 文件,用于转换现有 XML 文件的格式和/或内容。
XPath 一种 XML 查询语言,用于从 XML 文档中轻松地提取元素和数据。
Microsoft Office System 中的 XML 概述
对可扩展标记语言 (XML) 的支持是在 Microsoft Office XP 中首次提供的,Microsoft® Office Excel 2003 和 Microsoft Office access 2003 中的 XML 支持在此基础上有了显著的扩展。此外,Microsoft 还在 Microsoft Office Word 2003 中新增了丰富的 XML 支持。例如,Word 2003 和 Excel 2003 都支持将多个自定义的架构映射到文档,使信息工作人员能够创建和处理丰富的内容,同时这些内容又是由 XML 定义的。Microsoft Office FrontPage® 2003 使站点设计人员能够创建由 XML 数据驱动的站点,并使用所见即所得 (WYSIWYG) 工具基于 XML 数据生成丰富的视图。
最后,新的信息收集程序 Microsoft Office InfoPath™ 2003 使用 XML 作为其自身的文件格式。InfoPath 支持客户定义的 XML 架构并具有对 Web 服务的内置支持,从而可以与多个业务流程系统相集成,并且可以在公司的业务进程内进行操作。
通过广泛的 XML 支持,Microsoft Office System 大大增加了信息工作人员所创建的文档的价值。在 Microsoft Office System 中,电子表格、表单、数据库、Web 站点和字处理文档不再是数据的终点,而是成为数据管理周期的一部分,是数据流基础结构整体的一部分。实际上,开发人员和超级用户现在可以使用 Microsoft Office System 来设计文档,而信息工作人员可以直接在组织的业务逻辑和数据流中使用这些文档。
例如,可以让文档动态参与到企业应用程序中。实现此操作的方法之一是使用 Microsoft 的智能标记和智能文档技术,这两种技术都可以将某个操作(例如更新后端系统)与 XML 定义的内容相关联。虽然智能标记和智能文档不是本文所要论述的主题,但它们确实揭示了实现功能强大的方案的可能性,即使用 Microsoft Office System 通过 XML 智能化地对内容进行描述。
XML 如何使 Microsoft Office System 数据更有价值
在 Microsoft Office System 中使用 XML 可以使信息工作人员创建的内容更有价值。通过将文档中包含的数据与文档的其他方面(例如,布局、创建该文档的应用程序,等等)分开,在 Microsoft Office System 中使用 XML 可以使开发人员和超级用户更容易获得和访问数据,更便于组织使用数据,同时也更容易将数据集成到现有业务进程中。我们提供了一些很好的有关基于 XML 的强大方案的示例。要获得这些示例,请参阅以下白皮书:《The Microsoft Office System and XML:The Value of XML on the Desktop》。
过去,要想从 Office 文档中检索数据,Office 开发人员必须要知道并引用文档的结构。例如,要创建映射到 Word 文档中的表的解决方案,开放人员必须要编写代码以便在 Word 文档结构的上下文中定位数据。如果使用该文档的信息工作人员在文档顶部添加一个表,开发人员的解决方案将无法访问数据。
使用 XML,Office 开发人员不必知道他们要获取的数据在文档中的位置,而只需通过 XML 架构 (XSD) 知道定义或映射的内容即可。
XML 通过独立于任何格式化信息或数据位置的方式来描述文档中的信息,并以此来提供信息。例如,以前必须位于特定 Excel 单元格或 Word 表中的数据现在可以位于任何位置,并且可以很简单地包含在 SalesData XML 元素中(元素的名称完全可以定义)。这样的数据类似如下所示:
<SalesData>Data</SalesData>
熟悉 HTML 标记的读者可以认出此结构。这里的关键在于,HTML 标记描述如何呈现或显示数据,而 XML 标记只描述数据本身。要检索 XML 文本“Data”(包含在 SalesData 标记中),开发人员只需使用 XPath 查询(外观类似 selectSingleNode("/parents::SalesData)。这样,不管信息在文档中驻留在何处,不管信息的格式如何,只要它标记在 XML 架构的上下文中,便可以通过 XML 访问。
XML 在特定 Office 2003 应用程序中的作用
XML 是 Microsoft Word 2003 和 Excel 2002 以及 Excel 2003 自身的文件格式。大多数可以以传统的 .DOC 或 .XLS 格式保存的信息(例如,格式化信息、作者信息、上次修改日期,等等)都可以保存为 XML 元素的形式。(以下各部分中说明了例外情况。)图 1 显示了一个 Word 文档的 XML 视图:
图 1:Word 2003 文档
请注意,例如,Author 值(标准 Word 属性)是如何在此表示为由 XML 标记定义的数据的:
<o:Author>Nancy Buchanan</o:Author>
这样,我们可以轻松地将数据从文档中分离出来,同时在传统的 Microsoft Office 文档中维护信息工作人员所熟悉的所有丰富的格式和功能。
Word 2003
Microsoft Office Word 2003 支持行业标准的 XML,文档可以交替保存为 Word 2003 .DOC 格式及其自身的 XML 文件格式。Word 2003 支持客户定义的 XSD,并提供了丰富的 XSLT 支持,例如,使您可以将特定 XSLT 与特定 XSD 相关联。
Word 2003 提供了可视化界面,可用于将架构映射到文档中(请参阅图 2)。Word 2003 有一个架构库 (Schema Library),您可以向其中添加多个架构。当将架构库中的架构附加到文档后,超级用户或开发人员便可以使用图形用户界面将 XML 结构任务窗格中的架构元素映射到文档本身。
Word 2003 能够知道架构文档的严格要求,并且会在适当的时候给出验证错误。例如,如果某元素指定其内容应当为数字,则输入文本时将产生验证错误。
图 2:Word 将每个字段都映射到一个 XML 元素
在上面的图 2 中,右侧任务窗格中的架构元素被映射到文档的各个部分。现在,Physician Name 字段(左侧中部)由 XML 元素“drname”定义。使用此相同架构的任何其他程序或解决方案都会知道如何在此文档中查找医生的姓名。
此外,使用智能标记或智能文档,开发人员可以向文档中的特定 XML 元素附加逻辑。例如,在上图中,Contoso 可以创建这样一个解决方案,以便在其销售人员填写上图所示的 Receipt of Samples Form 时为其提供帮助。在此解决方案中,一个自定义的 DLL 可以从 Contoso 的内部记录中检索医生信息,并根据文档中的 XML 标记自动将信息插入到相应的字段中。
Excel 2003
超级用户或开发人员可以将架构附加到 Excel 2003 文档,然后便可以向文档中导入为这些架构定义的 XML 数据。他们还可以直接打开 XML 文件,并让 Excel 2003 从文档的结构中推断出一个架构。在 .xls 二进制格式中,Excel 文档可以维护 XML 映射并保留所有 Excel 功能和属性。保存为 .xml 文件时,Excel 文档将维护数据结构和 XML 映射(虽然它们会丢失一些丰富的、基于 Excel 的功能,例如图像、表单、嵌入对象和 VBA 代码 [请参阅“帮助”以获得完整的列表])。
在 Excel 2003 中,可以将 XML 结构任务窗格中的元素映射到电子表格中的单元格。开发人员和超级用户可以按任意顺序将 XML 元素映射到电子表格,并且不需要满足任何架构要求。从架构中映射元素后,便可以导入 XML 数据,并且可以像电子表格中的任何其他数据一样使用这些数据。
将电子表格映射到 XML 后,便可以实现许多功能强大的方案。首先,如果映射到动态数据(通过 Web 查询、Web 服务、提供 XML 的数据库查询或 access 2003),则现在便可以基于最新的数据来使用常规的 Excel 功能(例如 Microsoft PivotChart® 动态视图)。Excel 2003 使信息工作人员可以直接由 XML 源数据更新电子表格(通过最初建立的相同的连接/身份验证方法),并且只需一次单击即可。
其次,由于现在已经映射了 Excel 2003 中的数据,因而这些数据可供其他系统访问。例如,习惯于在 Excel 中完成其公司财务报表的信息工作人员可以继续使用 Excel,即使该财务报表数据的最终目标是数据库。有关详细信息,请参阅以下白皮书中的“Regulatory Compliance and Preparation of Financial Data”示例:《The Microsoft Office System and XML:The Value of XML on the Desktop》。简而言之,XML 集成现在使公司的其他系统可以直接从电子表格使用该数据,而不管单元格是否已被移动。
InfoPath 2003
InfoPath 2003 通过使团队和组织能够轻松创建和使用丰富的动态表单,简化了信息的收集过程。InfoPath 表单具有一些非常突出的优点,例如:
- 因为 InfoPath 表单是电子表单,所以可以将其设计为动态适应于用户的回答,从而使其功能更强大,更易于使用
- 因为数据是以电子方式收集的,所以不必像纸质表单那样重新输入数据
InfoPath 表单提供了与文档类似的功能,例如丰富的文本编辑和拼写检查功能
不过,InfoPath 表单的功能远远超过了这些用途。利用 InfoPath 中的 XML 支持可以将表单中收集的信息集成到广泛的业务进程中(下面对此进行了详述)。
InfoPath 从最根本上就是为使用 XML 并支持基于 W3C XML 架构 (XSD) 标准的客户定义的架构而创建的。简而言之,InfoPath 就是用于创建和编辑 XML 文档的。设计人员和用户可以在 InfoPath 中体验到各种方式的 XML 支持:作为用于设计表单的 XML 创作工具;用于表单本身,这些表单就是 XML 文件;用于表单的丰富的视图中,可以通过 XSLT 转换来实现;用于支持 Web 服务,使得数据源与后端系统的集成更简单。
InfoPath 提供了一种易于使用的所见即所得设计模式,使表单设计人员可以创建或修改表单模板而无需编写任何代码。要设计一个新表单,设计人员只需在空白表单中插入控件。InfoPath 将自动在后端创建 XML 架构(可以修改它)。设计人员也可以由现有架构(例如,作为业务进程工作流设计的一部分的客户定义的现有架构)创建表单。InfoPath 表单始终保存为 XML 文件,并且包含将其标识为 InfoPath 文件的特殊处理指令。
- 信息工作人员可以通过丰富的格式化的视图与 InfoPath 表单进行交互操作。InfoPath 提供了经过验证的、结构化的 XML 数据编辑功能,可以显示对当前选定的字段或字段组有效的编辑操作。使用这种结构化的编辑功能,可以通过处理在丰富的动态视图中显示的字段组来添加和删除有效的 XML 元素,而无需查看这些元素和属性。
- InfoPath 解决了在 XML 出现以前所不能解决的数据收集中的问题:通过提供可以增长的表单(通过添加可选的字段组)以及使用 XML 的分层数据模型,InfoPath 可以将字处理器文档的灵活性添加到表单应用程序的严格的验证功能中。该解决方案中包含复杂的 XSLT 转换,用于提供 XML 数据的动态的、易于使用的视图。
因为 InfoPath 支持客户定义的 XML 架构,并且与 Web 服务相集成,所以 InfoPath 表单可以与后端及中间层系统相集成。例如,当前业务进程可能涉及多个前端系统,这些前端系统与各自的后端业务流程应用程序之间存在严格的交互操作。
使用 InfoPath,组织可以设计一个表单作为多个后端系统的前端,以简化信息流。此外,组织还可以围绕该表单设计一个丰富的工作流,例如,使用 BizTalk Server 来生成基于 XML 元素的业务逻辑。从根本上讲,InfoPath 可用于帮助将信息工作人员直接连接到组织信息,使他们能够对这些信息进行操作,这会给业务带来巨大的影响。我们提供了一些很好的有关基于 InfoPath 表单的业务处理解决方案的示例。要获得这些示例,请参阅以下白皮书中的“Field Service Execution and Management”和“Insurance Claims Processing”小节:《The Microsoft Office System and XML:The Value of XML on the Desktop》。
FrontPage 2003
FrontPage 2003 主要以两种方式支持 XML,二者都可用于以新的方式将 Web 站点与信息相连接。首先,站点设计人员可以使用来自 SharePoint 列表或其他 XML 数据源的数据创建实时 Web 站点(用户可以与数据进行交互的 Web 站点)。其他 XML 数据源可以是 XML 文件、业务流程应用程序的 XML 格式的查询结果或第三方服务等。
其次,可以创建和编辑用于查看 XML 数据的可扩展样式表语言转换 (XSLT) 文件,这与创建与 XML 数据源的实时连接也是相关的。有了 FrontPage 2003,站点设计人员就有了创建数据转换的所见即所得工具。该功能支持 Microsoft Word 或 XML 文件以及返回 XML 的统一资源定位器 (URL)。FrontPage 2003 拥有处理和格式化 XML 数据源所需的所有工具。此外,站点设计人员还可以将 HTML 表单中的结果保存在 Web 站点的 XML 文件中,并创建该 XML 数据文件的视图。有关 FrontPage 2003 解决方案的示例,请参阅以下白皮书中的“Marketing and Brand Reports”一节:《The Microsoft Office System and XML:The Value of XML on the Desktop》。
access 2003
access 2003 中的 XML 支持可以实现很多非常突出的功能,包括:
- 导出相关表 因为 Access 数据库具有固有的相关性,所以报表数据通常驻留在多个表中。例如,一个销售订单列表可能包括来自多个表的数据,这些表分别包含产品列表、订单详细信息和其他相关信息等。因此,导出数据时便需要导出相关表。access 2003 可以将数据导出为 XML,并自动包含所有相关详细信息。查看 XML 报表的任何人都可以从所有相关表中访问所有数据。
- 导入或导出已发布的 XSD 命名空间 在 Access 2002 中,对较早命名空间的引用会使开发人员无法验证 XML 架构。因为开发人员现在可以验证 Access 2003 XML 架构,所以使用 Microsoft Visual Studio® .NET 创建应用程序的开发人员可以利用从 access 2003 导出的 XML 数据,并将这些数据集成到更大的业务进程中。
- 导出和导入时应用 XSLT 导出和导入 XML 时,信息工作人员可以指定要使用的 XSL 转换。这意味着工作人员可以将带有数据的表单导出到 XML,并使用特定架构提交数据。
- 导出展示 XSL 将 Access 数据导出到 XML 的信息工作人员还可以选择导出展示 XSL 文件。Access 2003 提供了导出该 XSL 数据的选项。access 2003 还可以生成与要导出的数据相匹配的架构。
利用这些功能,高级用户和开发人员可以使 access 2003 数据更易于使用,并且更易于与业务进程相集成。
充分利用 Microsoft Office System 中的 XML 支持
因为 XML 是可扩展的,所以您必须做些前期准备工作以便在自己的组织中利用 Microsoft Office System 中的 XML 支持。例如,您必须定义文档中的数据要映射到的 XML 元素,还必须定义使用该数据的逻辑。考虑到所能获得的结果,这些前期准备工作是很值得的。以下各部分介绍了一些在您的环境中使用 XML 和 Microsoft Office System 时的一般注意事项。
相关性
要将 XML 元素映射到 Word 2003 文档,必须设计有效的 XML 架构。设计该架构时必须小心,以便支持该文档模板的所有变化情况。
建议将架构文件和其他解决方案文件(用于智能文档和智能标记)存储在信息工作人员可以访问的 Web 服务器上。
互操作性
XML 支持在 Microsoft Office System 中得到了高度发展。您可以在早期版本的 Microsoft Office 中查看带有映射的架构的文档,但是如果在这些版本中对其进行保存,则所有架构信息都将丢失。早期版本不能使用 XML 架构信息。
安全性
命名空间和架构能够很好地揭示您公司的业务进程的工作方式。因此,在确定架构的提供方式时最好谨慎从事。
用户培训
信息工作人员无需了解如何创建 XML 架构。通常,一个组织会为给定的文档类型创建架构并将其提供给用户。附加架构后,信息工作人员甚至无需知道他们在自己所熟悉的 Office 应用程序中创建的内容实际上已被标记了 XML。
小结
在 Microsoft Office System 中,文档、数据库和其他应用程序之间的信息共享通过客户定义的 XML 架构得以简化。用户可以自由地提出各自的思想和构思,而开发人员不必担心如何处理这些信息。简而言之,Microsoft Office System 中的内容通过使用 XML 成为了可以自由流动的、可访问的数据。
参考
有关详细信息,请参阅以下内容:
- Microsoft Office System
- XML Schema Primer
- The Microsoft Office System and XML:The Value of XML on the Desktop
(责任编辑:admin)
- ·协同软件井喷在即
- ·微软升级商务交流软件 可以精简巨额成
- ·微软TechNet网络广播全新互动学习方式
- ·最新技术出现在消费领域 企业技术升级
- ·微软使用网银在线支付平台 拓展新型服
- ·微软Windows攻击代码现身网络 专家建议
- ·盖茨获国际慈善家奖
- ·千台龙芯电脑下月首批用户测试
- ·Office 365版Power BI的诞生
- ·Access2013与Access2010的区别(Access2
- ·Office 2013 中的新增功能
- ·Access 2013 中的新增功能
- ·Access 2010的功能和优点
- ·微软3年内推新操作系统 内部代号window
- ·盖茨:Google是微软大敌 中国强大是件好
- ·盖茨:2008年后仍有事要做 不会彻底离开