• 検索結果がありません。

自己紹介 小笠原徳彦 (OGASAWARA, Naruhiko) ミライト情報システムエンタープライズ事業本部ソリューション事業部 OSS 技術部所属 技術評価 WG メンバー 日本語チームメンバー 雑誌 Web メディアなどに執筆経験あり 2014/04/09 OSS オフィスソフト フェスタ 2

N/A
N/A
Protected

Academic year: 2021

シェア "自己紹介 小笠原徳彦 (OGASAWARA, Naruhiko) ミライト情報システムエンタープライズ事業本部ソリューション事業部 OSS 技術部所属 技術評価 WG メンバー 日本語チームメンバー 雑誌 Web メディアなどに執筆経験あり 2014/04/09 OSS オフィスソフト フェスタ 2"

Copied!
38
0
0

読み込み中.... (全文を見る)

全文

(1)

オフィス文書の国際標準

ODF 1.2

OSS オフィスソフト・フェスタ

2014.4.9

技術評価

WG

株式会社 ミライト情報システム

小笠原 徳彦

ogasawara.naruhiko@miraitsystems.jp

(2)

2014/04/09

OSSオフィスソフト・フェスタ

2

自己紹介

小笠原 徳彦

(OGASAWARA, Naruhiko)

ミライト情報システム

エンタープライズ事業本部

ソリューション事業部

OSS 技術部 所属

技術評価

WG メンバー

日本語チーム メンバー

雑誌・

Web メディアなどに執筆経験あり

(3)

目次

ODF とは何か

ODF の構造

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

ODF vs OOXML

まとめ

(4)

2014/04/09

OSSオフィスソフト・フェスタ

4

目次

ODF とは何か

ODF の構造

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

ODF vs OOXML

まとめ

(5)

ODF とは?

Open Document Format

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

Apache OpenOffice 、 LibreOffice

OpenOffice.org

標準文書フォーマット

オープン系オフィスソフトの

Abiword 、 Gnumeric 、

Calligra (旧 KOffice )なども標準で採用

Microsoft Office や Google Drive もインポート・エクス

ポート可能

(6)

2014/04/09

OSSオフィスソフト・フェスタ

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)

ISO/IEC

で標準化プロセス中

(7)

ポイント

完全にベンダーフリー

TC

のスポンサーは多種多様

IBM, Microsoft, Nokia, Novell, Oracle, Red Hat, Boeing

大きく分けて二つの標準化の集合

Open Document Format (ODF)

文書フォーマットの標準

Open Formula

(8)

2014/04/09

OSSオフィスソフト・フェスタ

8

目次

ODF とは何か

ODF の構造

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

ODF vs OOXML

まとめ

(9)

ODF = ZIP された XML + α

$ unzip ../ODF.odp (git)-[master] 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

(10)

2014/04/09

OSSオフィスソフト・フェスタ

10

展開した

ODF の内容

ファイル名

意味

mimetype

ファイルの

mime type を示す

Thumbnails/*.png

サムネイル画像

settings.xml

文書の設定を保持する

XML

content.xml

文書の内容を

XML で記載したもの

Pictures/*

文書内に添付されている画像のファイル

・表のプレビューファイル

styles.xml

スタイルおよびマスターページに関わる情報

Configuraltions2/*

文書ごとに保存する「オプション」の設定

META-INF/*

文書のメタ情報を保存

META-INF/manifest.xml ファイル構成その他の「マニフェスト」を宣言する

(11)

データ表現の例①

例えば

このような

箇条書きは

どうなるか

<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>

(12)

2014/04/09

OSSオフィスソフト・フェスタ

12

データ表現の例②

この線は?

<style:style style:name="gr13"

style:family="graphic"

style:parent-style-name="objectwithoutfill">

<style:graphic-properties

svg:stroke-width="0.1cm"

svg:stroke-color="#ff0000"

draw:marker-start-width="0.45cm"

draw:marker-end-width="0.45cm"

draw:fill="none"

draw:textarea-horizontal-align="center"

draw:textarea-vertical-align="middle"

fo:padding-top="0.175cm"

fo:padding-bottom="0.175cm"

fo:padding-left="0.3cm"

fo:padding-right="0.3cm"/>

</style:style>

……

<draw:line draw:style-name="gr13"

draw:text-style-name="P2"

draw:layer="layout"

svg:x1="2.111cm" svg:y1="16.879cm"

svg:x2="7.937cm" svg:y2="11.855cm">

<text:p/>

</draw:line>

<style:style style:name="

gr13

"

style:family="graphic"

style:parent-style-name="objectwithoutfill">

<style:graphic-properties

svg:

stroke-width

="

0.1cm

"

svg:

stroke-color

="

#ff0000

"

draw:marker-start-width="0.45cm"

draw:marker-end-width="0.45cm"

draw:fill="none"

draw:textarea-horizontal-align="center"

draw:textarea-vertical-align="middle"

fo:padding-top="0.175cm"

fo:padding-bottom="0.175cm"

fo:padding-left="0.3cm"

fo:padding-right="0.3cm"/>

</style:style>

……

<draw:line draw:style-name="

gr13

"

draw:text-style-name="P2"

draw:layer="layout"

svg:x1="

2.111cm

" svg:y1="

16.879cm

"

svg:x2="

7.937cm

" svg:y2="

11.855cm

">

<text:p/>

</draw:line>

(13)

気がつくところ①

元々の文書の構造が割と

XML に素直に対応する

だからちゃんと文章の構造を意図して書くと、

ODF

的に

綺麗に表現できる

Writer

などで見た目だけを整えてしまいスタイルを使わ

ないとよろしくない

寸法・位置は

cm の実寸で表現

ピクセル表現ではない

(14)

2014/04/09

OSSオフィスソフト・フェスタ

14

気がつくところ②

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

線:線種・色・太さ

塗りつぶし:色・パターンなど

gr1 = 線種:実線、太さ: 0.1cm 、色:赤、

塗りつぶし:なし

(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

(16)

2014/04/09

OSSオフィスソフト・フェスタ

16

Part 1 OpenDocument Schema①

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

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

OpenDocument Text Document

OpenDocument Spreadsheet Document

OpenDocument Drawing Document

OpenDocument Presentation Document

OpenDocument Formula Document

(17)

Part 1 OpenDocument Schema②

Producer と Consumer

Producer: ODF

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

(18)

2014/04/09

OSSオフィスソフト・フェスタ

18

Part 1 Open Document Schema③

Text

Paragraph Element

Text Field

Text Indexes

Tables

Graphic

Chart

Database Front-end

Document

Form

Common

SMIL Annotations

Styles

Formatting Elements

さまざまな

Content (内容)

(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

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

(20)

2014/04/09

OSSオフィスソフト・フェスタ

20

Part 1 Open Document Schema⑤

Attributes (属性)

XML タグの中で、タグを修飾するもの

General Attributes (一般属性)

プレゼンアニメとかデータベース接続とかフォームとか

Formatting Attributes (書式属性)

<style:*-properties> タグ専用の属性。書式を定義する

<draw:line

draw:style-name="gr13"

draw:text-style-name="P2"

draw:layer="layout"

svg:x1="2.111cm" svg:y1="16.879cm"

svg:x2="7.937cm" svg:y2="11.855cm">

<text:p/>

</draw:line>

<draw:line

draw:style-name="gr13"

draw:text-style-name="P2"

draw:layer="layout"

svg:x1="2.111cm" svg:y1="16.879cm"

svg:x2="7.937cm" svg:y2="11.855cm">

<text:p/>

</draw:line>

この部分が属性

(21)

Part 2 OpenFormula Format

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

ODF 1.1

までは

Open Document Schema

の一部だったが

1.2

から独立

Expression (式)と Evaluator (評価器)

OpenDocument Formula Expression

~= OpenFormula

評価器は三種類存在

OpenDocument Formula Small Group Evaluator

OpenDocument Formula Medium Group Evaluator

OpenDocument Formula Large Group Evaluator

サポートする

セル関数の

範囲で決まる

OpenDocument Formula Expression OpenFormula

(22)

2014/04/09

OSSオフィスソフト・フェスタ

22

Part 3 Packages

ODF のファイル構造を決めたもの

このスライドの

p.9 で示したような内容が厳格に定

義されている

Encryption (暗号化)や Digital Signature (電子認

(23)

ODF Validator

ODF 文書が規準を満たしているかを検証

(validate) するソフトウェア

Apache ODF Toolkit

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

http://incubator.apache.org/odftoolkit/conformance/ODFValidator.html

Web サービスも公開中

(24)

2014/04/09

OSSオフィスソフト・フェスタ

24

ODF Plugfest

Plugfest とは

元々は同じ標準に基づく物理インタフェースを持つ多種多様な

デバイスを「

plug して( = つないで)」動作チェックをするイベント

転じて、同じファイルフォーマットを扱えるソフトウェアの

相互運用

をチェックするイベント

ODF Plugfest

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

かを確認するイベント

最後に行われたのは

2012 年 10 月

ホストしていた

OpenSociety のサイトもダウン中

ちょっと状況を監視したい……

(25)

目次

ODF とは何か

ODF の構造

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

ODF vs OOXML

まとめ

(26)

2014/04/09

OSSオフィスソフト・フェスタ

26

ODF で表現するもの

ODF ファイルの構造

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

文書の構造

文書の構成要素

各構成要素の書式

……

ODF で決まっている仕様を変更・拡張する

ようなア

プリケーションの機能要求は、受け入れられるハー

ドルが上がる

(27)

ODF で表現しないもの

ODF は表現しか決めないので、動作に関する部分は

アプリケーションで決まる

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

ODF

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

ているものもある

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

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

例えば

Excel 2003

文書を読み込んで

Calc

にしたとき

(28)

2014/04/09

OSSオフィスソフト・フェスタ

28

ODF で表現されるべきだが

そうでないもの

アプリケーション側の機能拡張で、本来なら

ODF を

拡張すべきだが企画提案されておらず、先行的に

入っているもの

アプリケーションのリリースノートのようなものに「企

画提案中」などと書いてあったりする

ODF Validator はこの手の拡張を知らないのでエ

ラーを吐くことになる

ローカルで動かして最新のスキーマ定義を適用してや

れば検証可能

(29)

目次

ODF とは何か

ODF の構造

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

ODF vs OOXML

まとめ

(30)

2014/04/09

OSSオフィスソフト・フェスタ

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

(31)

OOXML と旧 MS Office 形式

MS Office 形式はフォーマット非公開

バイナリー形式であり中を覗いても意味不明

ただしユーザーが多いので解析されつくしている

OOXML と旧 MS Office 形式はファイル形式の互換

性は一切ない

表現力は近いとは想像できる

MS Office 2007 以降にとって、旧 MS Office 形式は

「インポート・エクスポート」の対象

標準フォーマットではない

(32)

2014/04/09

OSSオフィスソフト・フェスタ

32

OOXML = ZIP された XML + α

$ unzip ../line-thickness.xlsx Archive: ../line-thickness.xlsx inflating: [Content_Types].xml inflating: _rels/.rels inflating: xl/_rels/workbook.xml.rels inflating: xl/workbook.xml inflating: xl/theme/theme1.xml inflating: xl/worksheets/_rels/sheet1.xml.rels inflating: xl/worksheets/sheet2.xml inflating: xl/worksheets/sheet3.xml inflating: xl/worksheets/sheet1.xml inflating: xl/styles.xml inflating: docProps/core.xml inflating: xl/printerSettings/printerSettings1.bin inflating: docProps/app.xml $ unzip ../line-thickness.xlsx Archive: ../line-thickness.xlsx inflating: [Content_Types].xml inflating: _rels/.rels inflating: xl/_rels/workbook.xml.rels inflating: xl/workbook.xml inflating: xl/theme/theme1.xml inflating: xl/worksheets/_rels/sheet1.xml.rels inflating: xl/worksheets/sheet2.xml inflating: xl/worksheets/sheet3.xml inflating: xl/worksheets/sheet1.xml inflating: xl/styles.xml inflating: docProps/core.xml inflating: xl/printerSettings/printerSettings1.bin inflating: docProps/app.xml

(33)

OOXML の特徴

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

例えば

Excel

なら

worksheet + (sheets × n)

など

ODF はスタイル指向だが、 OOXML は個々のプロパ

ティを設定していく感じ

仕様がとにかく膨大

ODF 1000

ページ:

OOXML

6500

ページ

Office Open XML overview

という

14

ページの入門ド

キュメントがあるのでこれを読むと良い

(34)

2014/04/09

OSSオフィスソフト・フェスタ

34

OOXML と ODF を比べる①

日本のみなさん大好きな

罫線を

Excel で描く

Excel

の罫線は

ODF

の罫線とモデルが違う

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

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"/> </sheetData>

(35)

OOXML と ODF を比べる②

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

ODF は線の太さは実寸( cm 単位)

OOXML は「細い」「中ぐらい」「太い」しかない

悩ましい変換の問題

基本的に行ったり来たりをするのは推奨されない

s = "1"

ODF アプリケーション

OOXML

OOXML

インポーター

内部モデル

(ODF like)

stroke-width=??

stroke-width=0.1cm

OOXML

エクスポーター

s = "?"

(36)

2014/04/09

OSSオフィスソフト・フェスタ

36

OOXML Validator / Plugfest

一応存在する

http://ooxmlvalidator.codeplex.com/

非常に野良っぽい

2009

年から更新が止まっている

OOXML

最新バージョンは

4

だが、

3.0

しかサポートして

いない

Plugfest

存在しない

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

(37)

目次

ODF とは何か

ODF の構造

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

ODF vs OOXML

まとめ

(38)

2014/04/09

OSSオフィスソフト・フェスタ

38

まとめ

ODF

とは

Apache OpenOffice/LibreOffice の標準ファイルフォー

マットというだけではなく、

国際標準のオフィスファイル交換形

である

実体は

ZIP 圧縮された XML

とその添付ファイル類

ODF は

文書の構造

を規定し、アプリケーションはその

見せ方や

操作

を決める

OOXML は Microsoft による

国際標準のオフィスファイル交換形

MS Office 形式とも ODF とも互換性を持たない

相互運用

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

参照

関連したドキュメント

廃棄物処理責任者 廃棄物処理責任者 廃棄物処理責任者 廃棄物処理責任者 第1事業部 事業部長 第2事業部 事業部長

11月7日高梁支部役員会「事業報告・支部活動報告、多職種交流事業、広報誌につい

出典: 2016 年 10 月 Interferry Conference 資料 “THE CHALLENGE OF FERRY RO-RO TO SUPPORt INDONESIAN CONNECTIVITY”. このうち、南ベルトについては、

対策 現状の確認 自己評価 主な改善の措置 実施 実施しない理由 都の確認.