Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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 とその添付...
Nächste SlideShare
Wird geladen in …5
×

Learn about ODF / ODFを見なおそう

2.104 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie

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

×