top / index / prev / next / target / source

2005-11-18 diary: OASIS Open Document Format for Office Applications (OpenDocument)

いがぴょん画像(小) 日記形式でつづる いがぴょんコラム ウェブページです。

old-v2

OASIS Open Document Format for Office Applications (OpenDocument)

TC の調査

OpenOffice.orgの文書フォーマットでもある OpenDocumentの仕様について簡単に調べてみました。

OASIS Open Document Format for Office Applications (OpenDocument) TC の調査

OpenOffice.orgの文書フォーマットでもある OpenDocumentの仕様について簡単に調べてみました。

OASISに詳細なドキュメントがありました。

ドキュメントフォーマット形式がOASIS標準として公開されているのは とても嬉しいです。700頁を越えるドキュメントの量には圧倒されます。とりあえず、ページ数が多すぎるので、印刷は我慢しました。

blanco Frameworkの基盤として、現状としては JExcelApiにかなりの重心を置いていますが、これからはOpenDocumentも重要なフォーマットとして取り組んでいくことが出来たら総合的に効果が高いのでは、と現時点では考えています。

関連するニュース

関連する日記

OpenOffice.org 2.0 Calcのファイルを解凍してみる

まず手始めに、OpenOffice.org 2.0 の表計算ソフトの文書ファイルを簡単に解析しました。(なぜなら直近の仕事で既に利用することが必要だからです…)

Calcのデフォルト保存のファイル *.ods を解凍して得られるファイルのひとつ content.xml を例として示します。 content.xml

<?xml version="1.0" encoding="UTF-8"?><office:document-content
        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"
        xmlns:xforms="http://www.w3.org/2002/xforms"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        office:version="1.0">
        <office:scripts />
        <office:font-face-decls>
                <style:font-face style:name="Lucida Sans Unicode"
                        svg:font-family="&apos;Lucida Sans Unicode&apos;"
                        style:font-pitch="variable" />
                <style:font-face style:name="MS P ゴシック"
                        svg:font-family="&apos;MS P ゴシック&apos;" style:font-pitch="variable" />
                <style:font-face style:name="Tahoma" svg:font-family="Tahoma"
                        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:automatic-styles>
                <style:style style:name="co1" style:family="table-column">
                        <style:table-column-properties fo:break-before="auto"
                                style:column-width="2.267cm" />
                </style:style>
                <style:style style:name="ro1" style:family="table-row">
                        <style:table-row-properties style:row-height="0.432cm"
                                fo:break-before="auto" style:use-optimal-row-height="true" />
                </style:style>
                <style:style style:name="ro2" style:family="table-row">
                        <style:table-row-properties style:row-height="0.446cm"
                                fo:break-before="auto" style:use-optimal-row-height="true" />
                </style:style>
                <style:style style:name="ta1" style:family="table"
                        style:master-page-name="Default">
                        <style:table-properties table:display="true"
                                style:writing-mode="lr-tb" />
                </style:style>
                <number:date-style style:name="N33">
                        <number:month />
                        <number:text>月</number:text>
                        <number:day />
                        <number:text>日</number:text>
                </number:date-style>
                <style:style style:name="ce1" style:family="table-cell"
                        style:parent-style-name="Default" style:data-style-name="N33" />
        </office:automatic-styles>
        <office:body>
                <office:spreadsheet>
                        <table:table table:name="Sheet1" table:style-name="ta1"
                                table:print="false">
                                <table:table-column table:style-name="co1"
                                        table:number-columns-repeated="3"
                                        table:default-cell-style-name="Default" />
                                <table:table-row table:style-name="ro1">
                                        <table:table-cell office:value-type="string">
                                                <text:p>A</text:p>
                                        </table:table-cell>
                                        <table:table-cell office:value-type="string">
                                                <text:p>B</text:p>
                                        </table:table-cell>
                                        <table:table-cell office:value-type="string">
                                                <text:p>C</text:p>
                                        </table:table-cell>
                                </table:table-row>
                                <table:table-row table:style-name="ro2">
                                        <table:table-cell office:value-type="float"
                                                office:value="123">
                                                <text:p>123</text:p>
                                        </table:table-cell>
                                        <table:table-cell table:style-name="ce1"
                                                office:value-type="date" office:date-value="2005-02-09">
                                                <text:p>2月9日</text:p>
                                        </table:table-cell>
                                        <table:table-cell />
                                </table:table-row>
                                <table:table-row table:style-name="ro1">
                                        <table:table-cell office:value-type="string">
                                                <text:p>EE</text:p>
                                        </table:table-cell>
                                        <table:table-cell table:number-columns-repeated="2" />
                                </table:table-row>
                        </table:table>
                </office:spreadsheet>
        </office:body></office:document-content>

※上記のXMLは Eclipse WTP のXML整形をしてから掲載しています。 ZIP形式としてドキュメントファイルが解凍でき、しかも可読性のあるXMLファイル形式で保存されているのは驚きです。ぱっと見て、私にもXMLファイルの内容を読むことが出来ました。これはすごいです。多くの可能性を感じます。(そしてビジネスチャンスも感じます)OpenDocumentには 時間の投資を行う価値が多くあることを強く理解しました。

OpenOffice.org 2.0 / OpenDocumentの可能性

OpenOffice.org 2.0のドキュメントファイル形式が世界標準のものとして仕様が公開されていて且つファイル形式には可読性があるので、このOpenDocument形式にはかなり奥が広い可能性があります。OpenOffice.org自身のAPIが公開されていることが、その可能性を更に広げます。簡単に考えただけでも、下記のような用途が容易に思いつきます。

OpenOffice.org APIと OpenDocument入出力技術の両方を手に入れれば、かなりいろいろな可能性を手に入れることが出来ます。OpenOffice.orgは要チェック技術であることを強く思い知った今日の一日でした。


この日記について