ODF を見なおそう

〜 ODF の中身をじっくり眺めてみる〜
2013 年度
定例会
2013.12.19
アシスト大阪 セミナールーム

株式会社 ミライト情報システム
小笠原 徳彦
ogasawara.naruhiko@miraitsy...
自己紹介
●

●

●

小笠原 徳彦 (OGASAWARA, Naruhiko)
ミライト情報システム
オープンソリューション技術本部
応用システム技術部 所属
ODPG 会員 / 技術評価 WG メンバー
日本語チーム メンバー

●

...
目次
●

ODF とは何か

●

ODF の構造

●

ODF で表現するもの、しないもの

●

ODF vs OOXML

●

まとめ

12/20/13

ODPG定例会2013

3
目次
●

ODF とは何か

●

ODF の構造

●

ODF で表現するもの、しないもの

●

ODF vs OOXML

●

まとめ

12/20/13

ODPG定例会2013

4
ODF とは?
●

Open Document Format
–

●

●

●

オフィス文書の交換用標準フォーマット

Apache OpenOffice 、 LibreOffice 、 OpenOffice.org の
標準文書フォー...
ODF を決めているのは?
●

規格団体 OASIS (https://www.oasis-open.org/) の
Open Document Format for Office Applications
(OpenDocument) TC...
ベンダーフリー
●

TC の参加メンバーの企業は多種多様
–

TC IRC member companies:
Adobe Systems, Google Inc., IBM, Intel Corporation,
Justsystem C...
目次
●

ODF とは何か

●

ODF の構造

●

ODF で表現するもの、しないもの

●

ODF vs OOXML

●

まとめ

12/20/13

ODPG定例会2013

8
ODF = ZIP された XML + α
$ unzip ../ODF.odp
Archive: ../ODF.odp
extracting: mimetype
extracting: Thumbnails/thumbnail.png
inf...
展開した ODF の内容
ファイル名
mimetype
Thumbnails/*.png
settings.xml
content.xml
Pictures/*

意味
ファイルの mime type を示す
サムネイル画像
文書の設定を保持す...
データ表現の例①
●

例えば
–

このような
●

–

12/20/13

箇条書きは

どうなるか

<text:list text:style-name="L2">
<text:list-item>
<text:p> 例えば </te...
データ表現の例②

この線は?

12/20/13

<style:style style:name="gr13"
<style:style style:name="gr13"
style:family="graphic"
style:fami...
気がつくところ①
●

元々の文書の構造が割と XML に素直に対応する
–
–

●

だからちゃんと文章の構造を意図して書くと、 ODF 的に
綺麗に表現できる
Writer などでスタイルを使わず、見た目だけ整える文書
作成はよろしくない...
気がつくところ②
●

内部的には線の太さや色は「スタイル」になる
–
–

線:線種・色・太さ
塗りつぶし:色・パターンなど
gr1 = 線種:実線、太さ: 0.1cm 、色:赤、
塗りつぶし:なし

12/20/13

ODPG定例会201...
詳しい仕様
●

OASIS のサイトにて配布
–

Technical Work Produced by the Committee Open Document Format v1.2

https://www.oasis-open.org/...
Part 1 OpenDocument Schema①
●

XML 文書の定義について述べた仕様

●

ODF は以下のようなフォーマットの集まり
–

OpenDocument Text Document

–

OpenDocument...
Part 1 OpenDocument Schema②
●

Producer と Consumer
–

Producer: ODF に適合する文書を作るソフトウェア

–

Consumer: ODF に適合する文書を読めるソフトウェア

...
Part 1 Open Document Schema③
●

さまざまな Content (内容)
–

Database Front-end
Document

Text Field

–

Form

Text Indexes

–

C...
Part 1 Open Document Schema④
●

Datatypes (データ型)
–

W3C Schema Datatypes
●

–

string, date, time, dateTime, decimal, dura...
Part 1 Open Document Schema⑤
●

Attributes (属性)
<draw:line
<draw:line
draw:style-name="gr13"
draw:style-name="gr13"
draw:t...
Part 2 OpenFormula Format
●

大雑把に言えばセル関数の定義
–

●

ODF 1.1 までは Open Document Schema の一部だった
が 1.2 から独立

Expression (式)と Eval...
Part 3 Packages
●

●

●

ODF のファイル構造を決めたもの
このスライドの p.9 で示したような内容が厳格に定
義されている
Encryption (暗号化)や Digital Signature (電子認
証)の規...
ODF Validator
●

ODF 文書が規準を満たしているかを検証 (validate)
するソフトウェア
–

Apache ODF Toolkit インキュベータプロジェクト

http://incubator.apache.org...
ODF Plugfest
●

Plugfest とは
–

–

●

元々の意味は、同じ標準に基づく物理インタフェースを持つ多
種多様なデバイスを「 plug して( = つないで)」動作チェックをす
るイベント
転じて、同じファイルフォー...
目次
●

ODF とは何か

●

ODF の構造

●

ODF で表現するもの、しないもの

●

ODF vs OOXML

●

まとめ

12/20/13

ODPG定例会2013

25
ODF で表現するもの
●

ODF ファイルの構造

●

ODF 文書の中に持つべき情報
–
–
–
–

●

文書の構造
文書の構成要素
各構成要素の書式
……

ODF で決まっている仕様を変更・拡張するような
アプリケーションの機能...
ODF で表現しないもの
ODF は表現しか決めないので、動作に関する部分
はアプリケーションで決まる
●

ODF の表現をどうユーザーに見せるか
–

ODF では表現可能であっても、アプリ的には不可能にし
ているものもある

●

ある文...
ODF で表現されるべきだが
そうでないもの
●

●

●

アプリケーション側の機能拡張で、本来なら ODF を
拡張すべきだが企画提案されておらず、先行的に
入っているもの
アプリケーションのリリースノートのようなものに「規
格提案中」な...
目次
●

ODF とは何か

●

ODF の構造

●

ODF で表現するもの、しないもの

●

ODF vs OOXML

●

まとめ

12/20/13

ODPG定例会2013

29
OOXML とは
●

MS Office 2007 から導入された新しいファイル形式

●

Office Open XML の略、別名 OpenXML

●

Microsoft により仕様提案、 ECMA
http://www.ecma-...
OOXML と旧 MS Office 形式
●

旧 MS Office 形式はフォーマット非公開 (※)
–
–

●

OOXML と旧 MS Office 形式はファイル形式の互換
性は一切ない
–

●

バイナリー形式であり中を覗いて...
OOXML = ZIP された XML + α
$ unzip ../line-thickness.xlsx
$ unzip ../line-thickness.xlsx
Archive: ../line-thickness.xlsx
Arch...
OOXML の特徴
●

アプリケーションによりファイル構造が大きく異なる
–

●

●

例えば Excel なら worksheet + (sheets × n) など

ODF はスタイル指向だが、 OOXML は個々の要素に
属性を設...
OOXML と ODF を比べる①
●

日本のみなさん大好きな
罫線を Excel で描く
–

Excel の罫線は ODF の罫線とモデルが違う
●

–

12/20/13

「線種」と「線の太さ」が一次元にマップされている

OOXM...
OOXML と ODF を比べる②
●

「線の太さ」に関するモデリングの違い
–
–

●

ODF は線の太さは実寸( cm 単位)
OOXML は「細い」「中ぐらい」「太い」しかない

悩ましい変換の問題
ODF アプリケーション
内部モ...
OOXML Validator / Plugfest
●

OOXML の検証ソフト( Validator) は一応存在する
http://ooxmlvalidator.codeplex.com/
–
–
–

●

OOXML 最新バージョン...
目次
●

ODF とは何か

●

ODF の構造

●

ODF で表現するもの、しないもの

●

ODF vs OOXML

●

まとめ

12/20/13

ODPG定例会2013

37
まとめ
●

●

●

●

ODF とは Apache OpenOffice/LibreOffice の標準ファイルフォーマッ
トというだけではなく、国際標準のオフィスファイル交換形式であ
る
実体は ZIP 圧縮された XML とその添付...
Upcoming SlideShare
Loading in …5
×

Learn about ODF / ODFを見なおそう

1,173 views

Published on

Japanese:
日本Open Source Office Suites & OpenDocument Format利用推進グループ (ODPG: http://odpg.org/) で行ったプレゼンです。ODFのオーバービューについて述べています。

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
1,173
On SlideShare
0
From Embeds
0
Number of Embeds
40
Actions
Shares
0
Downloads
10
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Learn about ODF / ODFを見なおそう

  1. 1. ODF を見なおそう 〜 ODF の中身をじっくり眺めてみる〜 2013 年度 定例会 2013.12.19 アシスト大阪 セミナールーム 株式会社 ミライト情報システム 小笠原 徳彦 ogasawara.naruhiko@miraitsystems.jp 12/20/13 ODPG定例会2013 1
  2. 2. 自己紹介 ● ● ● 小笠原 徳彦 (OGASAWARA, Naruhiko) ミライト情報システム オープンソリューション技術本部 応用システム技術部 所属 ODPG 会員 / 技術評価 WG メンバー 日本語チーム メンバー ● ● Software Design, Ubuntu Magazine Japan, Gihyo.jp, IT Pro などに執筆経験あり 12/20/13 ODPG定例会2013 2
  3. 3. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 3
  4. 4. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 4
  5. 5. ODF とは? ● Open Document Format – ● ● ● オフィス文書の交換用標準フォーマット Apache OpenOffice 、 LibreOffice 、 OpenOffice.org の 標準文書フォーマット オープン系オフィスソフトの Abiword 、 Gnumeric 、 Calligra (旧 KOffice )なども標準で採用 Microsoft Office や Google Drive もインポート・エクス ポート可能 – 12/20/13 MS Office で ODF 1.2 サポートになったのは 2013 から ODPG定例会2013 5
  6. 6. ODF を決めているのは? ● 規格団体 OASIS (https://www.oasis-open.org/) の Open Document Format for Office Applications (OpenDocument) TC にて制定 http://www.oasis-open.org/committees/office – TC = Technical Committee (技術委員会) ● 制定後、 ISO/IEC に標準化提案 ● 現在は 1.2 が OASIS で制定完了 (2012.01.11) – 12/20/13 ISO/IEC で標準化プロセス中 ODPG定例会2013 6
  7. 7. ベンダーフリー ● TC の参加メンバーの企業は多種多様 – TC IRC member companies: Adobe Systems, Google Inc., IBM, Intel Corporation, Justsystem Corporation, KDE e.V., Microsoft, Mozilla Foundation, Novell, Oracle, Red Hat, The Document Foundation, … https://www.oasis-open.org/committees/office/obligation.php ※Novell メンバーの大部分が移籍した英 Collabora の名前がな いのは、単に情報がアップデートされていないためと推測される 12/20/13 ODPG定例会2013 7
  8. 8. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 8
  9. 9. ODF = ZIP された XML + α $ unzip ../ODF.odp Archive: ../ODF.odp extracting: mimetype extracting: Thumbnails/thumbnail.png inflating: meta.xml inflating: settings.xml inflating: content.xml inflating: Pictures/TablePreview1.svm extracting: Pictures/10000000000001680000003C4B8CF63D.jpg extracting: Pictures/1000020100000258000000B2FAEDCD5A.png extracting: Pictures/1000000000000320000000C8FC9C48B6.png extracting: Pictures/1000351400009698000054ABF11AC20D.svg extracting: Pictures/10000201000003AF00000212D6B53D6E.png extracting: Pictures/10000000000000200000002000309F1C.png inflating: styles.xml creating: Configurations2/images/Bitmaps/ inflating: Configurations2/accelerator/current.xml creating: Configurations2/floater/ creating: Configurations2/popupmenu/ creating: Configurations2/statusbar/ creating: Configurations2/toolpanel/ creating: Configurations2/progressbar/ creating: Configurations2/menubar/ creating: Configurations2/toolbar/ inflating: META-INF/manifest.xml 12/20/13 ODPG定例会2013 9
  10. 10. 展開した ODF の内容 ファイル名 mimetype Thumbnails/*.png settings.xml content.xml Pictures/* 意味 ファイルの mime type を示す サムネイル画像 文書の設定を保持する XML 文書の内容を XML で記載したもの 文書内に添付されている画像のファイル ・表のプレビューファイル スタイルおよびマスターページに関わる情報 styles.xml 文書ごとに保存する「オプション」の設定 Configuraltions2/* 文書のメタ情報を保存 META-INF/* META-INF/manifest.xml ファイル構成その他の「マニフェスト」を宣言する 12/20/13 ODPG定例会2013 10
  11. 11. データ表現の例① ● 例えば – このような ● – 12/20/13 箇条書きは どうなるか <text:list text:style-name="L2"> <text:list-item> <text:p> 例えば </text:p> <text:list> <text:list-item> <text:p> このような </text:p> <text:list> <text:list-item> <text:p> 箇条書きは </text:p> </text:list-item> </text:list> </text:list-item> <text:list-item> <text:p> どうなるか </text:p> </text:list-item> </text:list> </text:list-item> </text:list> ODPG定例会2013 11
  12. 12. データ表現の例② この線は? 12/20/13 <style:style style:name="gr13" <style:style style:name="gr13" style:family="graphic" style:family="graphic" style:parent-style-name="objectwithoutfill"> style:parent-style-name="objectwithoutfill"> <style:graphic-properties <style:graphic-properties svg:stroke-width="0.1cm" svg:stroke-width="0.1cm" svg:stroke-color="#ff0000" svg:stroke-color="#ff0000" draw:marker-start-width="0.45cm" draw:marker-start-width="0.45cm" draw:marker-end-width="0.45cm" draw:marker-end-width="0.45cm" draw:fill="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:textarea-vertical-align="middle" fo:padding-top="0.175cm" fo:padding-top="0.175cm" fo:padding-bottom="0.175cm" fo:padding-bottom="0.175cm" fo:padding-left="0.3cm" fo:padding-left="0.3cm" fo:padding-right="0.3cm"/> fo:padding-right="0.3cm"/> </style:style> </style:style> …… …… <draw:line draw:style-name="gr13" <draw:line draw:style-name="gr13" draw:text-style-name="P2" draw:text-style-name="P2" draw:layer="layout" draw:layer="layout" svg:x1="2.111cm" svg:y1="16.879cm" svg:x1="2.111cm" svg:y1="16.879cm" svg:x2="7.937cm" svg:y2="11.855cm"> svg:x2="7.937cm" svg:y2="11.855cm"> <text:p/> ODPG定例会2013 12 <text:p/> </draw:line> </draw:line>
  13. 13. 気がつくところ① ● 元々の文書の構造が割と XML に素直に対応する – – ● だからちゃんと文章の構造を意図して書くと、 ODF 的に 綺麗に表現できる Writer などでスタイルを使わず、見た目だけ整える文書 作成はよろしくない 寸法・位置は cm の実寸で表現 – 12/20/13 ピクセル表現ではない ODPG定例会2013 13
  14. 14. 気がつくところ② ● 内部的には線の太さや色は「スタイル」になる – – 線:線種・色・太さ 塗りつぶし:色・パターンなど gr1 = 線種:実線、太さ: 0.1cm 、色:赤、 塗りつぶし:なし 12/20/13 ODPG定例会2013 14
  15. 15. 詳しい仕様 ● OASIS のサイトにて配布 – Technical Work Produced by the Committee Open Document Format v1.2 https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office#technical ● 三部構成 – Part 1 OpenDocument Schema http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part1.pdf – Part 2 Recalculated Formula (OpenFormula) Format http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part3.pdf – Part 3 Packages http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part3.pdf 12/20/13 ODPG定例会2013 15
  16. 16. Part 1 OpenDocument Schema① ● XML 文書の定義について述べた仕様 ● ODF は以下のようなフォーマットの集まり – OpenDocument Text Document – OpenDocument Spreadsheet Document – OpenDocument Drawing Document – OpenDocument Presentation Document – OpenDocument Formula Document – OpenDocument Database Front End Document 12/20/13 ODPG定例会2013 16
  17. 17. Part 1 OpenDocument Schema② ● Producer と Consumer – Producer: ODF に適合する文書を作るソフトウェア – Consumer: ODF に適合する文書を読めるソフトウェア 12/20/13 ODPG定例会2013 17
  18. 18. Part 1 Open Document Schema③ ● さまざまな Content (内容) – Database Front-end Document Text Field – Form Text Indexes – Common Tables – SMIL Annotations Graphic – Styles Chart – Formatting Elements – Text – Paragraph Element – – – – – 12/20/13 ODPG定例会2013 18
  19. 19. Part 1 Open Document Schema④ ● Datatypes (データ型) – W3C Schema Datatypes ● – string, date, time, dateTime, decimal, duration, int, integer, nonNegativeInteger, positiveInteger, double, long, short, base64Binary, ID, IDREF, NCNames Other Datatypes ● 12/20/13 angle, anyIRI, boolean, cellAddress, cellRangeAddress, cellRangeAddressList, character, clipShape, color, coodinate, countryCode, CURIE, CURIEs, dateOrDatetime, distance, language, languageCode, length, namespacedToken, nonNegativeLength, nonNegativePixelLength, pathData, percent, point3D, points, positiveLength, relativeLength, safeCURIE, scriptCode, sizedZeroToHandledPercent, styleName, styleNameRef, targetFrameName, textEncoding, timeOrDateTime, URLorSafeCURIE, valueType, variableName, vector3D, zeroToHandledPercent ODPG定例会2013 ※IRI = Internationalized Resource Identifiers CURIE = Compact URI expression 19
  20. 20. Part 1 Open Document Schema⑤ ● Attributes (属性) <draw:line <draw:line draw:style-name="gr13" draw:style-name="gr13" draw:text-style-name="P2" draw:text-style-name="P2" draw:layer="layout" draw:layer="layout" svg:x1="2.111cm" svg:y1="16.879cm" svg:x1="2.111cm" svg:y1="16.879cm" svg:x2="7.937cm" svg:y2="11.855cm"> svg:x2="7.937cm" svg:y2="11.855cm"> <text:p/> <text:p/> </draw:line> </draw:line> – XML タグの中で、タグを修飾するもの – この部分が属性 General Attributes (一般属性) ● – プレゼンアニメとかデータベース接続とかフォームとか Formatting Attributes (書式属性) ● 12/20/13 <style:*-properties> タグ専用の属性。書式を定義する ODPG定例会2013 20
  21. 21. Part 2 OpenFormula Format ● 大雑把に言えばセル関数の定義 – ● ODF 1.1 までは Open Document Schema の一部だった が 1.2 から独立 Expression (式)と Evaluator (評価器) – – OpenDocument Formula Expression ~= OpenFormula OpenDocument Formula Expression 評価器は三種類存在 ● OpenDocument Formula Medium Group Evaluator ● 12/20/13 OpenDocument Formula Small Group Evaluator ● OpenDocument Formula Large Group Evaluator OpenFormula ODPG定例会2013 サポートする セル関数の 範囲で決まる 21
  22. 22. Part 3 Packages ● ● ● ODF のファイル構造を決めたもの このスライドの p.9 で示したような内容が厳格に定 義されている Encryption (暗号化)や Digital Signature (電子認 証)の規定もこの仕様 12/20/13 ODPG定例会2013 22
  23. 23. ODF Validator ● ODF 文書が規準を満たしているかを検証 (validate) するソフトウェア – Apache ODF Toolkit インキュベータプロジェクト http://incubator.apache.org/odftoolkit/conformance/ODFValidator.html – Web サービスも公開中 http://odf-validator.rhcloud.com/ 12/20/13 ODPG定例会2013 23
  24. 24. ODF Plugfest ● Plugfest とは – – ● 元々の意味は、同じ標準に基づく物理インタフェースを持つ多 種多様なデバイスを「 plug して( = つないで)」動作チェックをす るイベント 転じて、同じファイルフォーマットを扱えるソフトウェアの相互運 用性をチェックするイベント ODF Plugfest – ODF を扱えるソフトに様々なファイルを読み込ませて正しく読め るかを確認する ● ● ホストしていた OpenDoc Society のサイトもダウン中 ● 12/20/13 最後に行われたのは 2012 年 10 月( LibreOffice Conf 併催) ちょっと状況を監視したい…… ODPG定例会2013 24
  25. 25. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 25
  26. 26. ODF で表現するもの ● ODF ファイルの構造 ● ODF 文書の中に持つべき情報 – – – – ● 文書の構造 文書の構成要素 各構成要素の書式 …… ODF で決まっている仕様を変更・拡張するような アプリケーションの機能要求は、受け入れられる ハードルが上がる 12/20/13 ODPG定例会2013 26
  27. 27. ODF で表現しないもの ODF は表現しか決めないので、動作に関する部分 はアプリケーションで決まる ● ODF の表現をどうユーザーに見せるか – ODF では表現可能であっても、アプリ的には不可能にし ているものもある ● ある文書表現をどう操作して入力・編集するか ● インポート・エクスポートの仕様 – 12/20/13 例えば Excel 2003 文書を読み込んで Calc にしたとき ODPG定例会2013 27
  28. 28. ODF で表現されるべきだが そうでないもの ● ● ● アプリケーション側の機能拡張で、本来なら ODF を 拡張すべきだが企画提案されておらず、先行的に 入っているもの アプリケーションのリリースノートのようなものに「規 格提案中」などと書いてあったりする ODF Validator はこの手の拡張を知らないのでエ ラーを吐くことになる – 12/20/13 ローカルで動かして最新のスキーマ定義を適用してや れば検証可能 ODPG定例会2013 28
  29. 29. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 29
  30. 30. OOXML とは ● MS Office 2007 から導入された新しいファイル形式 ● Office Open XML の略、別名 OpenXML ● Microsoft により仕様提案、 ECMA http://www.ecma-international.org/default.htm にて標準化 (ECMA-376) http://www.ecma-international.org/publications/standards/Ecma-376.htm ● その後 ISO/IEC にて国際標準化 12/20/13 ODPG定例会2013 30
  31. 31. OOXML と旧 MS Office 形式 ● 旧 MS Office 形式はフォーマット非公開 (※) – – ● OOXML と旧 MS Office 形式はファイル形式の互換 性は一切ない – ● バイナリー形式であり中を覗いても意味不明 ただしユーザーが多いので解析されつくしている 表現力は近いとは想像できる MS Office 2007 以降にとって、旧 MS Office 形式は 「インポート・エクスポート」の対象 – 12/20/13 標準フォーマットではない ODPG定例会2013 (※) 資料公開後、仕様は下記アドレ スで公開されているとのご指摘をい ただきました。お詫びして訂正します。 http://msdn.microsoft.com/en-us/library31 /cc313105%28v=office.12%29.aspx
  32. 32. OOXML = ZIP された XML + α $ unzip ../line-thickness.xlsx $ unzip ../line-thickness.xlsx Archive: ../line-thickness.xlsx Archive: ../line-thickness.xlsx inflating: [Content_Types].xml inflating: [Content_Types].xml inflating: _rels/.rels inflating: _rels/.rels inflating: xl/_rels/workbook.xml.rels inflating: xl/_rels/workbook.xml.rels inflating: xl/workbook.xml inflating: xl/workbook.xml inflating: xl/theme/theme1.xml inflating: xl/theme/theme1.xml inflating: xl/worksheets/_rels/sheet1.xml.rels inflating: xl/worksheets/_rels/sheet1.xml.rels inflating: xl/worksheets/sheet2.xml inflating: xl/worksheets/sheet2.xml inflating: xl/worksheets/sheet3.xml inflating: xl/worksheets/sheet3.xml inflating: xl/worksheets/sheet1.xml inflating: xl/worksheets/sheet1.xml inflating: xl/styles.xml inflating: xl/styles.xml inflating: docProps/core.xml inflating: docProps/core.xml inflating: xl/printerSettings/printerSettings1.bin inflating: xl/printerSettings/printerSettings1.bin inflating: docProps/app.xml inflating: docProps/app.xml 12/20/13 ODPG定例会2013 32
  33. 33. OOXML の特徴 ● アプリケーションによりファイル構造が大きく異なる – ● ● 例えば Excel なら worksheet + (sheets × n) など ODF はスタイル指向だが、 OOXML は個々の要素に 属性を設定していく感じ 仕様がとにかく膨大 – ODF 1000 ページ: OOXML 6500 ページ – Office Open XML overview という 14 ページの入門ド キュメントがあるのでこれを読むと良い http://www.ecma-international.org/news/TC45_current_work/OpenXML%20White%20Paper.pdf 12/20/13 ODPG定例会2013 33
  34. 34. OOXML と ODF を比べる① ● 日本のみなさん大好きな 罫線を Excel で描く – Excel の罫線は ODF の罫線とモデルが違う ● – 12/20/13 「線種」と「線の太さ」が一次元にマップされている OOXML もそれを反映 <sheetData> <row r="2" spans="2:2"> <c r="B2" s="1"/></row> <row r="3" spans="2:2" ht="14.25" thickBot="1"/> <row r="4" spans="2:2" ht="14.25" thickBot="1"> <c r="B4" s="2"/></row> <row r="5" spans="2:2" ht="14.25" thickBot="1"/> <row r="6" spans="2:2" ht="15" thickTop="1" thickBot="1"> <c r="B6" s="3"/></row> <row r="7" spans="2:2" ht="14.25" thickTop="1"/> ODPG定例会2013 34 </sheetData>
  35. 35. OOXML と ODF を比べる② ● 「線の太さ」に関するモデリングの違い – – ● ODF は線の太さは実寸( cm 単位) OOXML は「細い」「中ぐらい」「太い」しかない 悩ましい変換の問題 ODF アプリケーション 内部モデル (ODF like) OOXML s = "1" stroke-width=?? s = "?" – OOXML インポーター OOXML エクスポーター stroke-width=0.1cm 基本的に行ったり来たりをするのは推奨されない 12/20/13 ODPG定例会2013 35
  36. 36. OOXML Validator / Plugfest ● OOXML の検証ソフト( Validator) は一応存在する http://ooxmlvalidator.codeplex.com/ – – – ● OOXML 最新バージョンは 4 だが、 3.0 しかサポートして いない Plugfest – ● 非常に野良っぽい 2009 年から更新が止まっている 存在しない OOXML は、相互運用性の担保に無関心に見える 12/20/13 ODPG定例会2013 36
  37. 37. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 37
  38. 38. まとめ ● ● ● ● ODF とは Apache OpenOffice/LibreOffice の標準ファイルフォーマッ トというだけではなく、国際標準のオフィスファイル交換形式であ る 実体は ZIP 圧縮された XML とその添付ファイル類 ODF は文書の構造を規定し、アプリケーションはその見せ方や操 作を決める OOXML は Microsoft による国際標準のオフィスファイル交換形式 – – ● ODF と構造は似ている( XML+ZIP )が、まったく違う形式 旧 MS Office 形式とも互換性を持たない 相互運用においては両者の違いを正しく認識しよう 12/20/13 ODPG定例会2013 38

×