关于 Open XML
Open XML标准的简单介绍:
Ecma Office Open XML(“Open XML”)是针对字处理文档、演示文稿和电子表格的国际化开放标准,可免费供多个应用程序在多个平台上实现。Microsoft Office(2007、2003、XP、2000)、OpenOffice Novell Edition、开源项目 Gnumeric、Neo-Office 2.1 和 PalmOS (Dataviz) 已经支持 Open XML。Corel 已经宣布在 WordPerfect 2007 中提供 Open XML 支持,全球的开发人员 正在使用 OpenXML 构建解决方案。
Open XML 的标准化工作是由 Ecma International 通过其技术委员会 45 (TC45) 执行的,来自 Apple、Barclays Capital、BP、The British Library、Essilor、Intel、Microsoft、NextPage、Novell、Statoil、Toshiba 和 United States Library of Congress 的代表参与了该项工作。该标准旨在提供现有 ISO 标准所无法提供的独特好处,其中包括能够实现从现有二进制格式向基于 XML 的格式的高保真移植。
>>>>>>更多信息请阅读技术白皮书—>Ecma Open XML – 完整白皮书(http://www.ecma-international.org/news/TC45_current_work/OpenXML%20White%20Paper.pdf)
目前Open XML正在努力成为国际标准的旅途中,我们坚信标准是可以多样化的。
来自OpenXML社区的声音(节选,排名不分先后):
4screen AG — 瑞士:“4screen AG 是 OpenXMLCommunity.org 的创始成员之一,我们是开放文档格式的坚定支持者。Ecma OpenXML 是我们构建客户需要的可互操作的解决方案的关键促成要素。我们还支持为使 OpenXML 被批准为 ISO/IEC 标准所做的努力。因此,我们未发现 OpenXML 和现有的 ISO 标准(例如 ODF)之间有任何冲突。有多种基于 XML 的文档格式可用很理想,因为这样可以促进不同标准实施之间的竞争,从而推动市场的创新。”—– Patrik Döös
Bright Partners — 葡萄牙:“Open XML 代表了文档标准的重要进步,可以为全球的技术用户、技术行业、客户、商业和政府带来好处。2006 年 12 月 Ecma 批准时,该标准获得了高度的认可,并已提交给 JTC 1 [ISO/IEC Joint Technical Committee 1,ISO/IEC 标准化技术委员会] 以进行快速审批。我们相信,Open XML 代表着文档标准的积极进步,将为技术团体和客户带来切实的利益。特别是,它将增强解决方案之间的互操作性并推动公司的业务流程。”—– Fernando Almeida
Clever Age — 法国:“与 Microsoft 一起从事增强互操作性的项目确实很令人兴奋。该公司对此项目具有非常高的标准、承诺和长期目标。我们将继续帮助客户在其应用中从 Open XML 标准获益。”—- Frederic Bond, 首席执行官
Patheon, Inc — 加拿大:“Patheon 是一家上市公司,是面向国际制药行业的医药开发和制造服务的领先提供商。Patheon 依靠电子文档进行记录管理、向政府递交资料和制定内部策略。进行医药开发时,所有电子提交材料都必须采用 XML 格式,因为这是美国食品药物管理局和加拿大卫生部规定的方法。使 OpenXML 成为国际认可的文档标准对于我们的现在和未来将极为有益。我们期盼 OpenXML 成为 ISO 认可的另一种国际标准。”—— Tom Ferguson, 全球 IT 高级副总裁
ABB spa — 意大利:“互操作性是信息社会的一个重要概念。确保互操作性的方法之一是消除电子媒体的专有文档格式。采用 Open XML 作为国际标准是非常重要的一步,因为它代表 Office 生产率应用程序中使用的文档类型的最完整的格式。”—– Tormene Guido, IS 经理
北京理正软件设计研究院有限公司:“我声明支持使用OpenXML作为文档格式的世界标准。文档格式的不统一和交换困难一直都是计算机软件界的难题之一,我们因此也付出了很多不必要的成本和代价。非常希望能够有一种被大家广泛接受的格式成为标准并得到更大范围的支持和推广。根据我对软件行业和对XML格式文档的了解,我相信基于XML的数据交换将是未来的主流方式;也希望OpenXML格式的文档可以成为世界标准。谢谢。”—– 董青, 总经理策划助理
南京工业大学控制工程中心:“我们相信Ecma’s Open XML开放标准会成为ISO国际标准的。因为这对于电子政务和信息社会的发展都是非常重要的,同时可以辅助政府部门之间和合作伙伴之间的信息交换。”—— 陆新建, IT工程师
天津市电子计算机研究所:“Ecma’s Open XML开放标准会成为ISO国际标准,因为我们需要 Open XML 以便可以与以前数以亿万计的使用过去文件格式的现存文件相兼容。我们相信这会成为现实。”—– 朗天佩, 所长
中国石化:“我们欢迎Ecma’s Open XML开放标准这样一种针对综合文档管理的开放的解决方案。在这个沟通无处不在的年代,我们需要一个标准的文档格式来使产业界、内容提供者和使用者可以访问数亿计界的以前的文档,并且以后,可以创建无数的更多的文档。Open XML开放标准实现了这个目的。此外,Open XML/ODF翻译器使我们可以方便地浏览各种格式的文档。我们期望看到Open XML成为ISO标准。”—– 董良, 信息部副处长
……还有很多,不一一列举
OPENXML 通过 XML 文档提供行集视图。由于OPENXML 是行集提供程序,因此可在会出现行集提供程序(如表、视图或 OPENROWSET 函数)的 Transact-SQL 语句中使用 OPENXML。实例如下:
–创建一个XML文档@doc
DECLARE @idoc int
DECLARE @doc varchar(1000)
SET @doc =’
<ROOT>
<Customer CustomerID=”VINET” ContactName=”Paul Henriot”>
<Order CustomerID=”VINET” EmployeeID=”5″ OrderDate=”1996-07-04T00:00:00″>
<OrderDetail OrderID=”10248″ ProductID=”11″ Quantity=”12″/>
<OrderDetail OrderID=”10248″ ProductID=”42″ Quantity=”10″/>
</Order>
</Customer>
<Customer CustomerID=”LILAS” ContactName=”Carlos Gonzlez”>
<Order CustomerID=”LILAS” EmployeeID=”3″ OrderDate=”1996-08-16T00:00:00″>
<OrderDetail OrderID=”10283″ ProductID=”72″ Quantity=”3″/>
</Order>
</Customer>
</ROOT>’
–执行sp_xml_preparedocument 读取XML文档并进行分析,返回一个句柄,可用于访问 XML 文档的新创建的内部表示方式
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
A 、OPENXML 行集提供程序创建了一个三列行集(CostomerID、OrderID、Quantity),SELECT 语句从该行集中检索必要的列。
select * from
openxml (@idoc,’/ROOT/Customer/Order/OrderDetail’,1)
with (CustomerID varchar(10) ‘../@CustomerID’,
OrderID int,
Quantity int );
返回结果集如下:
CostomerID OrderID Quantity
——————————————
VINET 10248 12
VINET 10248 10
LILAS 10283 3
B、已有具有期望构架的表且不要求列模式,则WITH后为给定的表TableName
drop table #Order
create table #Order
(CustomerID varchar(20),
EmployeeID int,
OrderDate smalldatetime
)
select * from openxml(@idoc,’ROOT/Customer/Order’) with #Order
返回结果集如下:
CustomerID EmployeeID OrderDate
———————————————————–
VINET 5 1996-07-04 00:00:00
LILAS 3 1996-08-16 00:00:00
发表回复