OpenOffice XMLフィルターのインストーラー「OOoXMLFiltersInstaller」

 XMLフィルターのインストーラー「OOoXMLFiltersInstaller」のダウンロード

バージョン 0.5  2010年 7月24日


概要

OOoXMLFiltersInstallerは,OpenOfficeのXMLフィルターのインストーラーです。これは,エンドユーザーのために,OpenOfficeのXMLフィルターを簡単にインストールできるように設計されています。このツールは,XMLフィルターにおける自己記述的な注釈宣言(javadocに似た記述)に基づいて,そのフィルターを登録します。

このDraw文書に含まれるOpenOfficeのBasicマクロは,LGPLの下で発表されます。

このツールは,WindowsまたはMacOSX下のOpenOffice ver.3で利用できます。他のプラットホームのために,このツールは部分的に拡張しなければなりません。

疑問などがあれば,kisi-kazutaka@nifty.comへご一報ください。

自己記述的注釈

このインストーラーは,各フィルターにおける注釈宣言を識別します。フィルターにおける最初の注釈宣言にそれ自身の特性を示す次のような記述を含まなければなりません。記述は,1行の範囲内でキーワードと値の対から構成されます。ボールド体のキーワードはそれが必須であることを意味し,そうでないものは省略可能であることを意味します。

例えば,

  <?xml version='1.0' encoding='UTF-8'?>
     <!--
      @Name             BeyondXML-Calc-to-RNG
      @DocumentService  com.sun.star.sheet.SpreadsheetDocument
      @UIName           en-US=Calc-to-RNG
      @Flags            Export;Alien;ThirdParty
      @Extensions       rng
      @Comment          これはスプレッドシートからCSV形式でデータを輸出するフィルターです。
    -->
    <xsl:stylesheet ...>
       <xsl:output method='xml' />
       <xsl:template match='/'>
        ....
       </xsl:template>
      ....
     </xsl:stylesheet>

フィルターの特性。'http://doc.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Properties_of_a_Filter'を参照してください。

キーワード
@Name文字列。フィルターの内部名は一意でなければならなりません。リスト項目としても使えます。それは特殊文字を含みますが,それらは符号化されなければなりません。
@UIName'name=value'の対。選択ダイアログにおいてフィルターの局所的な名前が表示されなければなりません。CJK版を支持するために言語に値を指定しなければなりません。すべてのユニコード文字がここで許されます。
@Installedブール。このフラグは,フィルターのインストール状態を示します。通常,フィルターはすべてのユーザーのために等しく登録されます。ネットワーク・インストールにおいて,特定のグループまたは単一ユーザーのためにこれを不活性にしなければなりません。注:OpenOffice.orgにすでにコンポーネント・ライブラリーが登録される場合だけ,フィルターは働きます。省略時は'0'となります。
@Order整数。この数は,ユーザーが定めた順序のフィルターであることを示します。0より大きい数が有効です。この数が0にセットされる場合,フィルターのUIName特性によってアルファベット順に分類されます。同じことが同じ値を持つフィルターにあてはまります。省略時は'0'となります。
@Type文字列。フィルターが取り扱うことができる型のために,それ自体を登録しなければなりません。複数の割り当ては許されません。支持されるあらゆる型のために,複数の構成項目が作成されなければなりません。省略時はフィルター名を同じになる。
@DocumentService文字列。フィルターが動くコンポーネントを記述します。例えば,'com.sun.star.text.TextDocument'。これはフィルター処理の出力または目標と考えられます。UNOサービス名が期待されます。注:インプリメント名をここでは使うことができません。文書の一般的な型が必要です。
@FilterService文字列。これは,フィルターのUNOインプリメント名です。この項目がフィルターのサービス名でないことは明らかです。そうでなければ,OpenOffice.orgは一つ以上の登録されたフィルターを識別することができません。省略時は'com.sun.star.comp.Writer.XmlFilterAdaptor'となります。
@UIComponent文字列。フィルター処理のための特定の特性をユーザーに修飾させるために,フィルターによって用いられるUIダイアログの実行を記述します。例えば,'Text - txt - csv (StarCalc)'は,データを読み込むために用いられるコラム区切り子に関する情報を必要とします。異なるインプリメントを区別するために,それは実際のUNOインプリメント名(サービス名でない)でなければなりません。
@Flagsセミコロンで区切られたキーワードのリスト。下表で示すようにフィルターを記述します。そこで輸出入フィルターへの構造が生じます。外部フィルターでは検出されるようにThirdPartyフラグを設定しなければならないことに注意してください。
@FileFormatVersion整数。このフィルターによって編集されうる文書のバージョン番号を示します。
@TemplateName文字列。スタイルを輸入するためのテンプレート・ファイルの名前。それは文書の輸入だけで輸出では使うことができない特殊な機能です。あらゆるOpenOffice.org文書サービスは省略時スタイルを知っています。このテンプレート名が設定される場合,それらの省略時スタイルはテンプレートのスタイルに合併されます。そして,テンプレート・スタイルはこのフィルターによって輸入される文書のすべてのスタイルに合併されます。
(UserData)下表に示すとおり。いくつかのフィルターは,通常より多くの構成データを格納する必要があります。それはこの項目を通して理解されます。文字列リストの形式は制限されません。

UserDataは,次の対から構成します。

キーワード
@DTDDTDへのパス。
@Importer省略時はDocumentServiceに従うインポーターとなります。
@Exporter省略時はDocumentServiceに従うエクスポーターとなります。
@MyImporter輸入のためのXMLフィルターへのパス。省略時はこのダイアログで選択されたXMLフィルターへのパスとなります。
@MyExporter輸出のためのXMLフィルターへのパス。省略時はこのダイアログで選択されたXMLフィルターへのパスとなります。
@Comment注釈文字列。

@Flagsは,セミコロンで区切られた次の値から構成します。

説明
Importこのフィルターは'com.sun.star.document.ImportFilter'の仕様を支持し,内容を読み込むために使われます。
Exportこのフィルターは'com.sun.star.document.ExportFilter'の仕様を支持し,内容を保存するために使われます。
Templateこれらのフィルターは,テンプレート形式を取り扱うために特殊化されます。省略時に,フィルターに通された文書は新しい文書を作成するテンプレートとして使われます。
Internalこのフィルターは,いかなるUIの上でも表示されず利用できません。
OwnTemplateOpenOffice.orgのテンプレートAPIを使用したテンプレート。それは内部のテンプレート機能を支持します。以前のバージョンのために,それは内部の内容形式に使えます。
OwnOLE記憶かZIPパッケージに基づくOpenOffice.org固有の内容形式であることを示します。
Alienこのフラグを持つフィルターは,現在の文書形式と完全には互換性を持ちません。文書のどの機能が保存時に失われるかは不明です。このフラグは,保存時の警告ボックスで表示されなければならないかどうかを決めます。
UsesOptions(推奨されません)このフィルターは,処理の間にカスタマイズできます。OpenOffice.orgの以前のバージョンは,'SaveAs'ダイアログをカスタマイズするためにそれを使いました。新しいバージョンでは,フィルターがフィルター・オプションを用意しているどうかを示すフィルター特性'UIComponent'を使います。
Default保存時の省略時フィルターとしてのフィルターであることを示します。DocumentService特性を介して識別されるアプリケーション・モジュールとしての唯一のフィルターは,このフラグを設定しておきます。
NotInFileDialogファイルを開いたり保存したりするダイアログでフィルターの表示を抑えます。
NotInChooserフィルターを選択するためのUI要素においてフィルターの表示を抑えます。
ThirdPartyこれらのフィルターは,外部の集団によって開発されます。歴史的な理由から,OpenOffice.orgのフィルター検出は,古い内部のフィルターと新しい外部のフィルターとを区別します。古い内部のフィルターはUNOに基づかずに使われてるからです。
Preferred同じ型について複数のフィルターが登録される場合,ユーザーが特定のフィルターを選ばないならば,このフラグは読み込み時にそれらの一つを選びます。省略時のフラグとは対照的に,それはアプリケーション・モジュールに依存しませんが,型のための一つの優先的なフィルターだけがありえます。

型の特性。'http://doc.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Properties_of_a_Type'を参照してください。

キーワード
@UINamesセミコロンで区切られた'name=value'の対のリスト。局所的な名前によってユーザー・インターフェースで型を表示します。CJK版を支持するために言語に値を指定しなければなりません。すべてのユニコード文字がここで許されます。
@MediaType文字列。内容のMIME型を記述します。その理由は,プロセスに影響を及ぼすことなく内部名をいつでも変更できるということです。
@ClipboardFormat文字列。形式は,クリップボードに用いられるこの型の一意な説明です。
@URLPattern型の重要な構成要素はパターンです。それらは,あなた自身のURLスキーマの支持を有効にします。例えば,空のテキスト文書を開けるための,OpenOffice.orgの'private:factory/swriter'。ワイルドカードの'*'や'?'がここで支持されます。
@Extensionsその拡張子によるURLから内容の型を導出できます。ほとんどの場合,フラットな検出は専らそれらに基づきます。
@Preferredブール。ファイル拡張子を一意な型に必ずしも割り当てできないので,このフラグがあります。それは類似した特性を持つの型のグループに優先的な型であることを示します。そうでなければ,最初の照合が使われます。省略時は'0'となります。
@DocumentIconID整数。型にアイコンを割り当てることができます。そうするために,IDが資源への参照として使われます。この機能は,OpenOffice.org.で現在支持されていません。

インストールの手続き

ステップ操作
1XMLフィルターを任意のフォルダーに置いてください。
2現在登録されているフィルターを確認してください。フィルター情報の詳細を表示できます。
3XMLフィルターを置いたフォルダーを選んでください。
4XMLフィルターをインストールします。フィルターの上書きを許可できます。
5OpenOfffice.orgを終了し,再び起動してください。

注記

特定のフィルターを削除する場合,XMLフィルタ設定メニューを使わなければなりません。

MS Windowsにおいて,OpenOfficeを終了する時,Quickstarterも終了しなければなりません。


Copyright 2010, 岸 和孝