XML - 数据交换管理/OpenOffice.org 和 OpenDocument 格式
XML - 数据交换管理
|
相关主题
|
参与进来
|
上一章 | 下一章 |
← XMLWebAudio | 谷歌地球 → |
学习目标
|
OpenOffice.org 正如其名称所暗示的那样:一个开源办公应用套件。它基于 Sun Microsystems 的 StarOffice 的源代码,该源代码于 2000 年捐赠给了开源社区。OpenOffice.org 可以读取和保存其他办公应用程序使用的多种格式的文件,但其默认格式是 OpenDocument,这是一种由 OASIS(结构化信息标准促进组织)标准化的 XML 格式。由于这两个因素,一个开源编辑器和基于 XML 的文件,OpenOffice.org 有望在不久的将来变得非常重要,因为国家政府(尤其是欧盟)正在继续趋势,要求所有电子政府文件以开源格式保存。
如介绍中所述,OpenDocument 是一种由 OASIS 标准化的 XML 格式。OpenDocument 文件采用压缩 zip 存档的形式,具有以下扩展名之一
- .odt(文本)
- .ott(文本模板)
- .odm(主文档)
- .oth(HTML 模板)
- .ods(电子表格)
- .ots(电子表格模板)
- .odg(绘图)
- .otg(绘图模板)
- .odp(演示文稿)
- .otp(演示文稿模板)
- .odf(公式)
- .odb(数据库)
(注意,所有这些扩展名仅限于 2.0 版)
zip 存档包含以下文件和目录(来自 OpenOffice.org 帮助文档)
- 文档的实际文本存储在 content.xml 中。默认情况下,这是文档的简化版本,它省略了诸如缩进或换行符之类的格式元素,以简化保存和打开文档。
content.xml 示例
<office:document-content namespace declarations
office:version="1.0"
office:class="document type">
<office:scripts/>
<office:font-face-decls>
<!-- font specifications -->
</office:font-decls>
<office:styles>
<office:automatic-styles>
<!-- style information -->
</office:automatic-styles>
</office:styles>
<office:body>
<office:documentType>
<!-- actual content here -->
</office:documentType>
</office:body>
</office:document-content>
|
- meta.xml 包含文档的元信息,可以在“文件 - 属性”中进行编辑。如果文档使用密码保存,则 meta.xml 将不会被加密。
meta.xml 示例
<?xml version="1.0" encoding="UTF-8" ?>
<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.0">
<office:meta>
<meta:generator>OpenOffice.org/2.0$Win32 OpenOffice.org_project/680m1$Build-8990</meta:generator>
<meta:initial-creator>Creator Name</meta:initial-creator>
<meta:creation-date>2006-03-27T19:17:57</meta:creation-date>
<dc:creator>Creator Name</dc:creator>
<dc:date>2006-03-27T20:58:06</dc:date>
<dc:language>en-US</dc:language>
<meta:editing-cycles>2</meta:editing-cycles>
<meta:editing-duration>PT1H40M37S</meta:editing-duration>
<meta:user-defined meta:name="Info 1" />
<meta:user-defined meta:name="Info 2" />
<meta:user-defined meta:name="Info 3" />
<meta:user-defined meta:name="Info 4" />
<meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="2" meta:paragraph-count="6" meta:word-count="567" meta:character-count="3550" />
</office:meta>
</office:document-meta>
|
- settings.xml 包含有关此文档设置的更多信息。
settings.xml 示例
<?xml version="1.0" encoding="UTF-8" ?>
- <office:document-settings xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.0">
- <office:settings>
- <config:config-item-set config:name="ooo:view-settings">
<config:config-item config:name="ViewAreaTop" config:type="int">635</config:config-item>
<config:config-item config:name="ViewAreaLeft" config:type="int">0</config:config-item>
<config:config-item config:name="ViewAreaWidth" config:type="int">25852</config:config-item>
<config:config-item config:name="ViewAreaHeight" config:type="int">14818</config:config-item>
<config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item>
<config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item>
- <config:config-item-map-indexed config:name="Views">
- <config:config-item-map-entry>
<config:config-item config:name="ViewId" config:type="string">view2</config:config-item>
<config:config-item config:name="ViewLeft" config:type="int">17549</config:config-item>
<config:config-item config:name="ViewTop" config:type="int">4949</config:config-item>
<config:config-item config:name="VisibleLeft" config:type="int">0</config:config-item>
<config:config-item config:name="VisibleTop" config:type="int">635</config:config-item>
<config:config-item config:name="VisibleRight" config:type="int">25850</config:config-item>
<config:config-item config:name="VisibleBottom" config:type="int">15452</config:config-item>
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
<config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item>
<config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-indexed>
</config:config-item-set>
- <config:config-item-set config:name="ooo:configuration-settings">
<config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item>
<config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item>
<config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item>
<config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item>
<config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
<config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item>
<config:config-item config:name="UpdateFromTemplate" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item>
<config:config-item config:name="RedlineProtectionKey" config:type="base64Binary" />
<config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item>
<config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrinterSetup" config:type="base64Binary" />
<config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item>
<config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item>
<config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item>
<config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
<config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item>
<config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
<config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
<config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item>
<config:config-item config:name="CurrentDatabaseDataSource" config:type="string" />
<config:config-item config:name="PrinterName" config:type="string" />
<config:config-item config:name="PrintFaxName" config:type="string" />
<config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item>
<config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item>
<config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item>
<config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item>
<config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item>
<config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item>
<config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item>
<config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item>
<config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item>
<config:config-item config:name="CurrentDatabaseCommand" config:type="string" />
<config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item>
</config:config-item-set>
</office:settings>
</office:document-settings>
|
- styles.xml 包含应用于文档的样式,这些样式可以在“样式和格式”窗口中看到。
styles.xml 示例
<?xml version="1.0" encoding="UTF-8" ?>
<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" office:version="1.0">
- <office:font-face-decls>
<style:font-face style:name="Tahoma1" svg:font-family="Tahoma" />
<style:font-face style:name="Arial Unicode MS" svg:font-family="'Arial Unicode MS'" style:font-pitch="variable" />
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-pitch="variable" />
<style:font-face style:name="Times New Roman" svg:font-family="'Times New Roman'" style:font-family-generic="roman" style:font-pitch="variable" />
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable" />
</office:font-face-decls>
- <office:styles>
- <style:default-style style:family="graphic">
<style:graphic-properties draw:shadow-offset-x="0.1181in" draw:shadow-offset-y="0.1181in" draw:start-line-spacing-horizontal="0.1114in" draw:start-line-spacing-vertical="0.1114in" draw:end-line-spacing-horizontal="0.1114in" draw:end-line-spacing-vertical="0.1114in" style:flow-with-text="false" />
- <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
<style:tab-stops />
</style:paragraph-properties>
<style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none" />
</style:default-style>
- <style:default-style style:family="paragraph">
<style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="0.4925in" style:writing-mode="page" />
<style:text-properties style:use-window-font-color="true" style:font-name="Times New Roman" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-name-asian="Arial Unicode MS" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-name-complex="Tahoma" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" />
</style:default-style>
- <style:default-style style:family="table">
<style:table-properties table:border-model="collapsing" />
</style:default-style>
- <style:default-style style:family="table-row">
<style:table-row-properties fo:keep-together="auto" />
</style:default-style>
<style:style style:name="Standard" style:family="paragraph" style:class="text" />
- <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
<style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0.0835in" />
</style:style>
- <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text">
<style:paragraph-properties fo:margin-top="0.1665in" fo:margin-bottom="0.0835in" fo:keep-with-next="always" />
<style:text-properties style:font-name="Arial" fo:font-size="14pt" style:font-name-asian="Arial Unicode MS" style:font-size-asian="14pt" style:font-name-complex="Tahoma" style:font-size-complex="14pt" />
</style:style>
- <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list">
<style:text-properties style:font-name-complex="Tahoma1" />
</style:style>
- <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
<style:paragraph-properties fo:margin-top="0.0835in" fo:margin-bottom="0.0835in" text:number-lines="false" text:line-number="0" />
<style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Tahoma1" style:font-size-complex="12pt" style:font-style-complex="italic" />
</style:style>
- <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index">
<style:paragraph-properties text:number-lines="false" text:line-number="0" />
<style:text-properties style:font-name-complex="Tahoma1" />
</style:style>
- <text:outline-style>
- <text:outline-level-style text:level="1" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="2" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="3" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="4" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="5" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="6" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="7" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="8" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="9" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
- <text:outline-level-style text:level="10" style:num-format="">
<style:list-level-properties text:min-label-distance="0.15in" />
</text:outline-level-style>
</text:outline-style>
<text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document" />
<text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0" />
<text:linenumbering-configuration text:number-lines="false" text:offset="0.1965in" style:num-format="1" text:number-position="left" text:increment="5" />
</office:styles>
- <office:automatic-styles>
- <style:page-layout style:name="pm1">
- <style:page-layout-properties fo:page-width="8.5in" fo:page-height="11in" style:num-format="1" style:print-orientation="portrait" fo:margin-top="0.7874in" fo:margin-bottom="0.7874in" fo:margin-left="0.7874in" fo:margin-right="0.7874in" style:writing-mode="lr-tb" style:footnote-max-height="0in">
<style:footnote-sep style:width="0.0071in" style:distance-before-sep="0.0398in" style:distance-after-sep="0.0398in" style:adjustment="left" style:rel-width="25%" style:color="#000000" />
</style:page-layout-properties>
<style:header-style />
<style:footer-style />
</style:page-layout>
</office:automatic-styles>
- <office:master-styles>
<style:master-page style:name="Standard" style:page-layout-name="pm1" />
</office:master-styles>
</office:document-styles>
|
- meta-inf 目录中的 manifest.xml 描述了 XML 文件的结构。
manifest.xml 示例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manifest:manifest
PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
<manifest:manifest
xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">
<manifest:file-entry
manifest:media-type="application/vnd.oasis.opendocument.text"
manifest:full-path="/"/>
<manifest:file-entry
manifest:media-type="application/vnd.sun.xml.ui.configuration"
manifest:full-path="Configurations2/"/>
<manifest:file-entry
manifest:media-type="" manifest:full-path="Pictures/"/>
<manifest:file-entry
manifest:media-type="text/xml" manifest:full-path="content.xml"/>
<manifest:file-entry
manifest:media-type="text/xml" manifest:full-path="styles.xml"/>
<manifest:file-entry
manifest:media-type="text/xml" manifest:full-path="meta.xml"/>
<manifest:file-entry
manifest:media-type=""
manifest:full-path="Thumbnails/thumbnail.png"/>
<manifest:file-entry
manifest:media-type="" manifest:full-path="Thumbnails/"/>
<manifest:file-entry
manifest:media-type="text/xml" manifest:full-path="settings.xml"/>
</manifest:manifest>
|
- 如果需要,存档中可能包含其他文件和文件夹。
OpenDocument 格式的模式可以在 http://www.oasis-open.org/committees/download.php/12572/OpenDocument-v1.0-os.pdf 找到(注意:706 页)。
OpenOffice 包含 WRITER,它是 OpenOffice.org 的文字处理器。CALC 是一个功能强大的电子表格,它拥有计算、分析、汇总和展示数据所需的所有工具。IMPRESS 是一种快速而强大的方法,可以创建有效的多媒体演示文稿。DRAW 可以制作从简单的图表到动态 3D 插图和特殊效果的任何内容。BASE 是 2.0 版的新功能,它使您能够在 OpenOffice.org 中无缝地操作数据库数据。它允许创建和修改表格、表单、查询和报表。
下载地址:http://download.openoffice.org/
政府和企业领导人开始意识到开源文档格式的重要性,并开始采取行动。2005 年 7 月,挪威现代化部长莫顿·A·迈耶提出了挪威信息技术计划,名为“eNorge——数字飞跃”,其中涵盖了开放标准和开源。迈耶对开放标准和开源的目标如下:
- 在 2009 年之前,公共部门的所有新 ICT 和信息系统都应使用开放标准。
- 在 2006 年之前,应建立一套用于数据和文档交换的管理/行政标准。
- 在 2006 年之前,公共部门的所有业务都应制定使用开放标准、面向服务的架构和开源的计划。
- 在 2008 年之前,公共部门的所有数据和文档交换都应符合管理/行政标准。
- 在 2008 年之前,所有公共表格都应建立在通用界面上。
此外,迈耶说:“在公民和政府之间的通信中,不再接受专有格式。”
在美国,IBM 标准和开源副总裁鲍勃·苏托在自己的博客中,作为“Open Document 行动承诺”的一部分,向用户提出了以下建议:
- 今天就要求您办公室应用程序(文字处理器、电子表格、演示文稿软件)的提供商承诺在 2007 年 1 月 1 日之前在其产品中支持 OASIS OpenDocument for Office Applications 标准。
- 今天就要求您部署的办公室应用程序允许用户轻松地将 OASIS OpenDocument 标准设置为文档的默认“保存”格式。也就是说,您不应该为了避免使用专有格式而费太多工夫。
- 让您的办公室应用程序提供商承诺加入并参与 OASIS OpenDocument 标准技术委员会。
- 询问您的首席信息官何时能够使用支持 OASIS OpenDocument 标准的办公室应用程序。
- 询问您当地的和联邦政府何时将支持 OASIS OpenDocument 标准。
- 坚持使用任何 XML 文档格式,这些格式不受专有扩展的限制,并且该格式对任何人免费使用,不受限制,包括使用 GPL 许可证的开源社区。确保如果实施者必须接受涵盖该格式的许可证,则该许可证在这些重要问题上清晰明确。
- “这些是您的文档:您应该能够随时随地使用任何您想使用的应用程序对它们进行任何操作。”
意义很明确。计算世界正在朝着开源软件和文件类型迈进,以进行信息交换,尤其是在商业和政府领域,而 OpenOffice.org 凭借其基于 XML 的格式,将处于领先地位。
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office
http://www.sun.com/software/star/staroffice/index.jsp
“挪威部长表示,所有公共部门都需要在 2005 年之前制定开源使用计划。”Europa—IDABC。2005 年 7 月 6 日。 http://ec.europa.eu/idabc/en/document/4403/469.
鲍勃·苏托。“开放标准、开源、开放思想、开放机遇。”IBM developerWorks。2005 年 10 月 11 日。 http://www-128.ibm.com/developerworks/blogs/dw_blog_comments.jspa?blog=384&entry=97126.
“XML 文件格式。”帮助文档,Sun Microsystems, Inc., OpenOffice.org 2.0 版,2000-2005 年。