OpenOffice
のケーススタディ
−辞書の作成− 0.5版
2007年8月30日
私(岸 和孝)は,オフィス・スイートOpenOfficeの可能性を探るケーススタディを進めています。ここでは,辞書の作成をモデルにしたケーススタディで開発したツールとデータを紹介します。
ケーススタディの目的
このケーススタディの目的は,次のとおりです。
- OpenOfficeは実際の仕事に使えるか
- OpenOfficeは多様な文書形式で表した文書を交換できるか
- テキスト,スプレッドシート,フォームを介したデータベース
- 意味を体裁で表した後,その体裁から意味を再び引き出せるか
- OpenOfficeの輸出入(export/import)はどのように働くのか
- OpenOfficeにおいてどのような表現が可能か
- OpenOfficeにおいて文字実体の扱いはどうなるか
- OpenOfficeとNeoOfficeは同じか
辞書作成のワークフロー
辞書作成のワークフローは,下図のようになります。OpenOffice/Baseによるフォーム文書(xmldic.odb)と,OpenOffice/Writerによるテキスト文書(xmldic.odt)のいずれを使っても辞書データを作成できます。これは利用者が辞書編纂の状況に応じて得意なツールを使うであろうという前提から考えたワークフローです。なお,OpenOffice/Calcによるスプレッドシート文書(xmldic.ods)もツールとして開発しておりますが,まだ実現上の問題が解決していませんので,割愛しました。
XMLデータ輸出入の仕組み
XMLデータ輸出入の仕組みは,下図のようになります。xmldic.odbではマクロ(BASICプログラム)によって,xmldic.odtではフィルター(XSLTスタイルシート)によってXMLデータを輸出入します。この仕組みによって,どのツールで作成された辞書データも自在に交換できることになります。
実行方法
xmldic.odbとxmldic.odtは,NeoOffice 2.2.1〜またはOpenOffice 2.2.1〜で利用できます。
注:xmldic.odbには,マクロが組み込まれています。このファイル名「xmldic.odb」を変更する場合は,マクロも変更する必要があります。xmldic.odtのファイル名を変更することは自由です。
これらの実行を行うには,フィルターとデータベースについてあらかじめ次のように設定しておく必要があります。
データベースの設定
Base(この場合,xmldic.odb)の実行を行うには,その実行に先立ってデータベースの名前と記録場所をOpenOfficeに登録する必要があります。
| データベース名 | データベースの種類 |
| xmldic | 埋め込みデータベース(HSQLデータベースエンジン) |
データベースの設定は,次のように行います。
- 「ツール」メニューの「オプション」項目(OpenOfficeの場合)または「環境設定」項目(NeoOfficeの場合)を選びます。
- ダイアログの左側の「OpenOffice.org Base」タグ(OpenOfficeの場合)または「NeoOffice Base」タグ(NeoOfficeの場合)を押し,その中の「データベース」を選ぶと,タグの右側のダイアログが変わります。
- ダイアログの「新規作成」ボタンを押すと,別のダイアログが表示されます。
- 「データベースファイル」の「検索...」ボタンを押し,該当するデータベースのファイル名を選びます。「登録名」に適切な文字列を入力します。
- それらの設定が終了した後,「OK」ボタンを押します。
- 設定した内容を変更する場合は,「編集...」ボタンを押します。上記と同様の方法で変更します。
フィルターの設定
Writer(この場合,xmldic.odt)でフィルターによる処理を行うには,あらかじめ次のフィルターを設定しておく必要があります。
| 機能 | フィルター名 | アプリケーション名 | ファイル拡張子 |
| 辞書データをWriterへ輸入する | ImportFromDictionaryToWriter.xsl | Writer(.odt) | xml |
| Writerから辞書データを輸出する | ExportFromWriterToDictionary.xsl | Writer(.odt) | xml |
フィルターの設定は,次のように行います。
- 「ツール」メニューの「XMLフィルタ設定」項目を選びます。
- ダイアログが表示されますので,その「新規作成」ボタンを押します。
- ダイアログの「全般」タグを選ぶと,別のダイアログが表示されます。
- 「フィルタ名」「アプケーション名」「ファイルの種類名前」「ファイル拡張子」をそれぞれ設定します。
- 輸入の場合は「Import From Dictionary To Writer」「Writer(.odt)」「Import From Dictionary To Writer」「xml」とします。
- 輸出の場合は「Export From Writer To Dictionary」「Writer(.odt)」「Export From Writer To Dictionary」「xml」とします。
- 入力後,「OK」ボタンを押します。
- ダイアログの「変換」タグを選ぶと,別のダイアログが表示されます。このダイアログでは,「DocType」と「DTD」の欄は何も入力しません。
- 輸入の場合は「インポート用XSLT」の「検索...」ボタンを押します。
- 輸出の場合は「エクスポート用XSLT」の「検索...」ボタンを押します。
- ファイル選択のダイアログで該当フィルターのファイル名を選びます。
- それらの設定が終了した後,「OK」ボタンを押します。
- 上記の操作を輸入と輸出について繰り返します。
- 設定した内容を変更する場合は,「編集...」ボタンを押します。上記と同様の方法で変更します。
xmldic.odbの操作
xmldic.odbの操作は,次のとおりです。
- xmldic.odbを開きます。
- ダイアログの左側の「フォーム」タグを押し,タグの右側のダイアログが「フォーム」になるようにします。
- 「辞書編集フォーム」を開きます。
- 1ページ目が「辞書データベース」,2ページ目が「書籍情報」です。
- 「辞書データベース」におけるボタンの意味は,次のとおりです。
- 「初期化ボタン」を押すと,辞書データベースの内容が初期化されます。
- 「輸入ボタン」を押すと,ファイル選択のダイアログで選んだ辞書データが辞書データベースへ輸入されます。
- 「輸出ボタン」を押すと,ファイル選択のダイアログで指定した辞書データへ辞書データベースから輸出されます。
注:マクロによる輸出入処理では,レコード数によっては非常に時間がかかりますので,注意してください。
注:初期化や輸入の処理が終了しても,ウインドウの下部にあるレコード数表示や画面の内容が変わらないことがあります。そうした場合は,「更新」ボタンを押してください。
xmldic.odtの操作
xmldic.odtは,同梱のxmldic.xmlを輸入した結果の見本です。
xmldic.odtを再び得るための輸入操作は,次のとおりです。
- 「ファイル」メニューから「開く」項目を選びます。
- ファイル選択のダイアログにおいて輸入フィルターとして設定したファイルの種類「Import From Dictionary To Writer」を選びます。
- 「開く」ボタンを押します。
- 辞書データが輸入されます。なお,途中で「すべてのリンクを更新しますか」というダイアログが表示されます。これには「はい」と答えてください。
(変更した)xmldic.odtから(変更した)xmldic.xmlを得るための輸出操作は,次のとおりです。
- 「ファイル」メニューから「エクスポート」項目を選びます。
- ファイル選択のダイアログにおいて輸出フィルターとして設定したファイルの種類「Export From Writer To Dictionary」を選びます。
- 出力ファイル名を指定します。なお,これは「xmldic.xml」とは別の名前にしたほうがいいでしょう。
- 「保存」ボタンを押します。
- 辞書データが輸出されます。
ダウンロード
「ケーススタディ−辞書の作成−0.5版」のダウンロード
ダウンロードできるパッケージには次のものが同梱されています。
| ファイル名 | 種類 |
| xmldic.odb | 見本としてのデータベース(フォーム文書とテーブル定義を含む) |
| xmldic.odt | 見本としてのテキスト文書 |
| ImportFromDictionaryToWriter.xsl | フィルター |
| ExportFromWriterToDictionary.xsl | フィルター |
| xmldic.xml | 見本としてのSGML+XML用語辞典データ(文書インスタンス) |
| /objects/〜.odg | 引用される画像(ドロー文書) |
| /images/〜.png | 引用される画像(PNG形式のイメージ) |