SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
ODF を見なおそう

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

株式会社 ミライト情報システム
小笠原 徳彦
ogasawara.naruhiko@miraitsystems.jp

12/20/13

ODPG定例会2013

1
自己紹介
●

●

●

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

●

●

Software Design, Ubuntu Magazine Japan,
Gihyo.jp, IT Pro などに執筆経験あり

12/20/13

ODPG定例会2013

2
目次
●

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 の
標準文書フォーマット
オープン系オフィスソフトの Abiword 、 Gnumeric 、
Calligra (旧 KOffice )なども標準で採用
Microsoft Office や Google Drive もインポート・エクス
ポート可能
–

12/20/13

MS Office で ODF 1.2 サポートになったのは 2013 から
ODPG定例会2013

5
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
ベンダーフリー
●

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
目次
●

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
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
展開した 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
データ表現の例①
●

例えば
–

このような
●

–

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/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>
気がつくところ①
●

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

●

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

寸法・位置は cm の実寸で表現
–

12/20/13

ピクセル表現ではない

ODPG定例会2013

13
気がつくところ②
●

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

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

12/20/13

ODPG定例会2013

14
詳しい仕様
●

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
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
Part 1 OpenDocument Schema②
●

Producer と Consumer
–

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

–

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

12/20/13

ODPG定例会2013

17
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
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
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
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
Part 3 Packages
●

●

●

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

12/20/13

ODPG定例会2013

22
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
ODF Plugfest
●

Plugfest とは
–

–

●

元々の意味は、同じ標準に基づく物理インタフェースを持つ多
種多様なデバイスを「 plug して( = つないで)」動作チェックをす
るイベント
転じて、同じファイルフォーマットを扱えるソフトウェアの相互運
用性をチェックするイベント

ODF Plugfest
–

ODF を扱えるソフトに様々なファイルを読み込ませて正しく読め
るかを確認する
●

●

ホストしていた OpenDoc Society のサイトもダウン中

●

12/20/13

最後に行われたのは 2012 年 10 月( LibreOffice Conf 併催)
ちょっと状況を監視したい……
ODPG定例会2013

24
目次
●

ODF とは何か

●

ODF の構造

●

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

●

ODF vs OOXML

●

まとめ

12/20/13

ODPG定例会2013

25
ODF で表現するもの
●

ODF ファイルの構造

●

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

●

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

ODF で決まっている仕様を変更・拡張するような
アプリケーションの機能要求は、受け入れられる
ハードルが上がる

12/20/13

ODPG定例会2013

26
ODF で表現しないもの
ODF は表現しか決めないので、動作に関する部分
はアプリケーションで決まる
●

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

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

●

ある文書表現をどう操作して入力・編集するか

●

インポート・エクスポートの仕様
–

12/20/13

例えば Excel 2003 文書を読み込んで Calc にしたとき
ODPG定例会2013

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

●

●

アプリケーション側の機能拡張で、本来なら ODF を
拡張すべきだが企画提案されておらず、先行的に
入っているもの
アプリケーションのリリースノートのようなものに「規
格提案中」などと書いてあったりする
ODF Validator はこの手の拡張を知らないのでエ
ラーを吐くことになる
–

12/20/13

ローカルで動かして最新のスキーマ定義を適用してや
れば検証可能
ODPG定例会2013

28
目次
●

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-international.org/default.htm
にて標準化 (ECMA-376)
http://www.ecma-international.org/publications/standards/Ecma-376.htm

●

その後 ISO/IEC にて国際標準化

12/20/13

ODPG定例会2013

30
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
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
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
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>
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
OOXML Validator / Plugfest
●

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

●

OOXML 最新バージョンは 4 だが、 3.0 しかサポートして
いない

Plugfest
–

●

非常に野良っぽい
2009 年から更新が止まっている

存在しない

OOXML は、相互運用性の担保に無関心に見える

12/20/13

ODPG定例会2013

36
目次
●

ODF とは何か

●

ODF の構造

●

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

●

ODF vs OOXML

●

まとめ

12/20/13

ODPG定例会2013

37
まとめ
●

●

●

●

ODF とは Apache OpenOffice/LibreOffice の標準ファイルフォーマッ
トというだけではなく、国際標準のオフィスファイル交換形式であ
る
実体は ZIP 圧縮された XML とその添付ファイル類
ODF は文書の構造を規定し、アプリケーションはその見せ方や操
作を決める
OOXML は Microsoft による国際標準のオフィスファイル交換形式
–

–
●

ODF と構造は似ている( XML+ZIP )が、まったく違う形式
旧 MS Office 形式とも互換性を持たない

相互運用においては両者の違いを正しく認識しよう

12/20/13

ODPG定例会2013

38

Más contenido relacionado

Similar a Learn about ODF / ODFを見なおそう

Androidロボットサミットin京都
Androidロボットサミットin京都Androidロボットサミットin京都
Androidロボットサミットin京都
Kenichi Yoshida
 
インストールどうしてますか
インストールどうしてますかインストールどうしてますか
インストールどうしてますか
Hirohisa Yamaguchi
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
Kenichi Yoshida
 
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
Kenichi Yoshida
 
イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料
Kenichi Yoshida
 
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)
openrtm
 

Similar a Learn about ODF / ODFを見なおそう (20)

Androidロボットサミットin京都
Androidロボットサミットin京都Androidロボットサミットin京都
Androidロボットサミットin京都
 
LODチャレンジ参加者のためのデータセットとアプリの公開基盤Link data
LODチャレンジ参加者のためのデータセットとアプリの公開基盤Link dataLODチャレンジ参加者のためのデータセットとアプリの公開基盤Link data
LODチャレンジ参加者のためのデータセットとアプリの公開基盤Link data
 
Drupalを活用した Linked Open Dataの 実践的試行環境の構築
Drupalを活用した Linked Open Dataの実践的試行環境の構築Drupalを活用した Linked Open Dataの実践的試行環境の構築
Drupalを活用した Linked Open Dataの 実践的試行環境の構築
 
20130126 OpenData and Android
20130126 OpenData and Android20130126 OpenData and Android
20130126 OpenData and Android
 
Linked Dataの基本原則 -LODを公開するときに知っておきたい基本技術-
Linked Dataの基本原則-LODを公開するときに知っておきたい基本技術-Linked Dataの基本原則-LODを公開するときに知っておきたい基本技術-
Linked Dataの基本原則 -LODを公開するときに知っておきたい基本技術-
 
インストールどうしてますか
インストールどうしてますかインストールどうしてますか
インストールどうしてますか
 
What's and What's not LibreOffice? / LibreOfficeとはなんであって、なんでないか
What's and What's not LibreOffice? / LibreOfficeとはなんであって、なんでないかWhat's and What's not LibreOffice? / LibreOfficeとはなんであって、なんでないか
What's and What's not LibreOffice? / LibreOfficeとはなんであって、なんでないか
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
 
GRPContractFormの制作と公開_201311 (Development and Publication of GRP Contract Form)
GRPContractFormの制作と公開_201311 (Development and Publication of GRP Contract Form)GRPContractFormの制作と公開_201311 (Development and Publication of GRP Contract Form)
GRPContractFormの制作と公開_201311 (Development and Publication of GRP Contract Form)
 
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
 
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
 
日本語Linked Data Cloudの現状
日本語Linked Data Cloudの現状日本語Linked Data Cloudの現状
日本語Linked Data Cloudの現状
 
IoTとは何?
IoTとは何?IoTとは何?
IoTとは何?
 
10大ニュースで振り返るpg con2013
10大ニュースで振り返るpg con201310大ニュースで振り返るpg con2013
10大ニュースで振り返るpg con2013
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方
 
Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917
 
OData って何?
OData って何?OData って何?
OData って何?
 
プログラムなしで公開できるLODアプリケーション
プログラムなしで公開できるLODアプリケーションプログラムなしで公開できるLODアプリケーション
プログラムなしで公開できるLODアプリケーション
 
イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料
 
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)
 

Más de Naruhiko Ogasawara

Más de Naruhiko Ogasawara (20)

さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...
さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...
さらばデスクトップ?モバイル・クラウド時代のLibreOfficeの挑戦/LibreOffice current status, or the chall...
 
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage
 
LibreOffice Asia Conference 2019 Tokyo; what we had achieved, and what's next
LibreOffice Asia Conference 2019 Tokyo; what we had achieved, and what's nextLibreOffice Asia Conference 2019 Tokyo; what we had achieved, and what's next
LibreOffice Asia Conference 2019 Tokyo; what we had achieved, and what's next
 
小江戸らぐBBQ 2019
小江戸らぐBBQ 2019小江戸らぐBBQ 2019
小江戸らぐBBQ 2019
 
The Document Foundationについて / About The Document Foundation
The Document Foundationについて / About The Document FoundationThe Document Foundationについて / About The Document Foundation
The Document Foundationについて / About The Document Foundation
 
TDFと寄付、メンバーシップ、認定制度 / TDF and donation, membership and certification
TDFと寄付、メンバーシップ、認定制度 / TDF and donation, membership and certificationTDFと寄付、メンバーシップ、認定制度 / TDF and donation, membership and certification
TDFと寄付、メンバーシップ、認定制度 / TDF and donation, membership and certification
 
Building a bridge between Japanese LibreOffice community and the world
Building a bridge between Japanese LibreOffice community and the worldBuilding a bridge between Japanese LibreOffice community and the world
Building a bridge between Japanese LibreOffice community and the world
 
Happy Software Freedom Day! (Koedo Linux Users Group, Tokyo, Japan)
Happy Software Freedom Day! (Koedo Linux Users Group, Tokyo, Japan)Happy Software Freedom Day! (Koedo Linux Users Group, Tokyo, Japan)
Happy Software Freedom Day! (Koedo Linux Users Group, Tokyo, Japan)
 
宣伝:SeleniumConf Tokyo 2019やりますよ!
宣伝:SeleniumConf Tokyo 2019やりますよ!宣伝:SeleniumConf Tokyo 2019やりますよ!
宣伝:SeleniumConf Tokyo 2019やりますよ!
 
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systems
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systemsUsing latest LibreOffice on openSUSE Leap 15 - by modern packaging systems
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systems
 
The Document Foundationについて
The Document FoundationについてThe Document Foundationについて
The Document Foundationについて
 
告知 ー OSnuC Kawagoe 2018
告知 ー OSnuC Kawagoe 2018告知 ー OSnuC Kawagoe 2018
告知 ー OSnuC Kawagoe 2018
 
LibreOffice: The Office Suite with Mixing Bowl Culture
LibreOffice: The Office Suite with Mixing Bowl CultureLibreOffice: The Office Suite with Mixing Bowl Culture
LibreOffice: The Office Suite with Mixing Bowl Culture
 
Make It Better Together: コミュニティを主体としたLibreOffice翻訳 / : Community-centered Lib...
Make It Better Together: コミュニティを主体としたLibreOffice翻訳 / : Community-centered Lib...Make It Better Together: コミュニティを主体としたLibreOffice翻訳 / : Community-centered Lib...
Make It Better Together: コミュニティを主体としたLibreOffice翻訳 / : Community-centered Lib...
 
Hospital days in czech / チェコで入院した話
Hospital days in czech / チェコで入院した話Hospital days in czech / チェコで入院した話
Hospital days in czech / チェコで入院した話
 
openSUSEユーザーに向けたLibreOffice入門 / Introduction of LibreOffice for openSUSE users
openSUSEユーザーに向けたLibreOffice入門 / Introduction of LibreOffice for openSUSE usersopenSUSEユーザーに向けたLibreOffice入門 / Introduction of LibreOffice for openSUSE users
openSUSEユーザーに向けたLibreOffice入門 / Introduction of LibreOffice for openSUSE users
 
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
 
LibreOfficeの最新動向 / LibreOffice current status
LibreOfficeの最新動向 / LibreOffice current statusLibreOfficeの最新動向 / LibreOffice current status
LibreOfficeの最新動向 / LibreOffice current status
 
Vertical Writing: typical use-cases and current status in LibreOffice
Vertical Writing: typical use-cases and current status in LibreOfficeVertical Writing: typical use-cases and current status in LibreOffice
Vertical Writing: typical use-cases and current status in LibreOffice
 
LibreOffice, the free office productive suite and it's status of accessibilit...
LibreOffice, the free office productive suite and it's status of accessibilit...LibreOffice, the free office productive suite and it's status of accessibilit...
LibreOffice, the free office productive suite and it's status of accessibilit...
 

Learn about ODF / ODFを見なおそう

  • 1. ODF を見なおそう 〜 ODF の中身をじっくり眺めてみる〜 2013 年度 定例会 2013.12.19 アシスト大阪 セミナールーム 株式会社 ミライト情報システム 小笠原 徳彦 ogasawara.naruhiko@miraitsystems.jp 12/20/13 ODPG定例会2013 1
  • 2. 自己紹介 ● ● ● 小笠原 徳彦 (OGASAWARA, Naruhiko) ミライト情報システム オープンソリューション技術本部 応用システム技術部 所属 ODPG 会員 / 技術評価 WG メンバー 日本語チーム メンバー ● ● Software Design, Ubuntu Magazine Japan, Gihyo.jp, IT Pro などに執筆経験あり 12/20/13 ODPG定例会2013 2
  • 3. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 3
  • 4. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 4
  • 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. 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. ベンダーフリー ● 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. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 8
  • 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. 展開した 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. データ表現の例① ● 例えば – このような ● – 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/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. 気がつくところ① ● 元々の文書の構造が割と XML に素直に対応する – – ● だからちゃんと文章の構造を意図して書くと、 ODF 的に 綺麗に表現できる Writer などでスタイルを使わず、見た目だけ整える文書 作成はよろしくない 寸法・位置は cm の実寸で表現 – 12/20/13 ピクセル表現ではない ODPG定例会2013 13
  • 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. 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. Part 1 OpenDocument Schema② ● Producer と Consumer – Producer: ODF に適合する文書を作るソフトウェア – Consumer: ODF に適合する文書を読めるソフトウェア 12/20/13 ODPG定例会2013 17
  • 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. 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. 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. 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. Part 3 Packages ● ● ● ODF のファイル構造を決めたもの このスライドの p.9 で示したような内容が厳格に定 義されている Encryption (暗号化)や Digital Signature (電子認 証)の規定もこの仕様 12/20/13 ODPG定例会2013 22
  • 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. ODF Plugfest ● Plugfest とは – – ● 元々の意味は、同じ標準に基づく物理インタフェースを持つ多 種多様なデバイスを「 plug して( = つないで)」動作チェックをす るイベント 転じて、同じファイルフォーマットを扱えるソフトウェアの相互運 用性をチェックするイベント ODF Plugfest – ODF を扱えるソフトに様々なファイルを読み込ませて正しく読め るかを確認する ● ● ホストしていた OpenDoc Society のサイトもダウン中 ● 12/20/13 最後に行われたのは 2012 年 10 月( LibreOffice Conf 併催) ちょっと状況を監視したい…… ODPG定例会2013 24
  • 25. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 25
  • 26. ODF で表現するもの ● ODF ファイルの構造 ● ODF 文書の中に持つべき情報 – – – – ● 文書の構造 文書の構成要素 各構成要素の書式 …… ODF で決まっている仕様を変更・拡張するような アプリケーションの機能要求は、受け入れられる ハードルが上がる 12/20/13 ODPG定例会2013 26
  • 27. ODF で表現しないもの ODF は表現しか決めないので、動作に関する部分 はアプリケーションで決まる ● ODF の表現をどうユーザーに見せるか – ODF では表現可能であっても、アプリ的には不可能にし ているものもある ● ある文書表現をどう操作して入力・編集するか ● インポート・エクスポートの仕様 – 12/20/13 例えば Excel 2003 文書を読み込んで Calc にしたとき ODPG定例会2013 27
  • 28. ODF で表現されるべきだが そうでないもの ● ● ● アプリケーション側の機能拡張で、本来なら ODF を 拡張すべきだが企画提案されておらず、先行的に 入っているもの アプリケーションのリリースノートのようなものに「規 格提案中」などと書いてあったりする ODF Validator はこの手の拡張を知らないのでエ ラーを吐くことになる – 12/20/13 ローカルで動かして最新のスキーマ定義を適用してや れば検証可能 ODPG定例会2013 28
  • 29. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 29
  • 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. 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. 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. 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. 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. 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. OOXML Validator / Plugfest ● OOXML の検証ソフト( Validator) は一応存在する http://ooxmlvalidator.codeplex.com/ – – – ● OOXML 最新バージョンは 4 だが、 3.0 しかサポートして いない Plugfest – ● 非常に野良っぽい 2009 年から更新が止まっている 存在しない OOXML は、相互運用性の担保に無関心に見える 12/20/13 ODPG定例会2013 36
  • 37. 目次 ● ODF とは何か ● ODF の構造 ● ODF で表現するもの、しないもの ● ODF vs OOXML ● まとめ 12/20/13 ODPG定例会2013 37
  • 38. まとめ ● ● ● ● ODF とは Apache OpenOffice/LibreOffice の標準ファイルフォーマッ トというだけではなく、国際標準のオフィスファイル交換形式であ る 実体は ZIP 圧縮された XML とその添付ファイル類 ODF は文書の構造を規定し、アプリケーションはその見せ方や操 作を決める OOXML は Microsoft による国際標準のオフィスファイル交換形式 – – ● ODF と構造は似ている( XML+ZIP )が、まったく違う形式 旧 MS Office 形式とも互換性を持たない 相互運用においては両者の違いを正しく認識しよう 12/20/13 ODPG定例会2013 38