OpenOfficeのケーススタディ
−辞書の作成− 0.5版
2007年8月30日

 私(岸 和孝)は,オフィス・スイートOpenOfficeの可能性を探るケーススタディを進めています。ここでは,辞書の作成をモデルにしたケーススタディで開発したツールとデータを紹介します。

ケーススタディの目的

 このケーススタディの目的は,次のとおりです。

辞書作成のワークフロー

 辞書作成のワークフローは,下図のようになります。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データベースエンジン)

 データベースの設定は,次のように行います。

  1. 「ツール」メニューの「オプション」項目(OpenOfficeの場合)または「環境設定」項目(NeoOfficeの場合)を選びます。
  2. ダイアログの左側の「OpenOffice.org Base」タグ(OpenOfficeの場合)または「NeoOffice Base」タグ(NeoOfficeの場合)を押し,その中の「データベース」を選ぶと,タグの右側のダイアログが変わります。
  3. ダイアログの「新規作成」ボタンを押すと,別のダイアログが表示されます。
  4. 「データベースファイル」の「検索...」ボタンを押し,該当するデータベースのファイル名を選びます。「登録名」に適切な文字列を入力します。
  5. それらの設定が終了した後,「OK」ボタンを押します。
  6. 設定した内容を変更する場合は,「編集...」ボタンを押します。上記と同様の方法で変更します。

フィルターの設定

 Writer(この場合,xmldic.odt)でフィルターによる処理を行うには,あらかじめ次のフィルターを設定しておく必要があります。

機能フィルター名アプリケーション名ファイル拡張子
辞書データをWriterへ輸入するImportFromDictionaryToWriter.xslWriter(.odt)xml
Writerから辞書データを輸出するExportFromWriterToDictionary.xslWriter(.odt)xml

 フィルターの設定は,次のように行います。

  1. 「ツール」メニューの「XMLフィルタ設定」項目を選びます。
  2. ダイアログが表示されますので,その「新規作成」ボタンを押します。
  3. ダイアログの「全般」タグを選ぶと,別のダイアログが表示されます。
  4. 「フィルタ名」「アプケーション名」「ファイルの種類名前」「ファイル拡張子」をそれぞれ設定します。
    1. 輸入の場合は「Import From Dictionary To Writer」「Writer(.odt)」「Import From Dictionary To Writer」「xml」とします。
    2. 輸出の場合は「Export From Writer To Dictionary」「Writer(.odt)」「Export From Writer To Dictionary」「xml」とします。
  5. 入力後,「OK」ボタンを押します。
  6. ダイアログの「変換」タグを選ぶと,別のダイアログが表示されます。このダイアログでは,「DocType」と「DTD」の欄は何も入力しません。
    1. 輸入の場合は「インポート用XSLT」の「検索...」ボタンを押します。
    2. 輸出の場合は「エクスポート用XSLT」の「検索...」ボタンを押します。
  7. ファイル選択のダイアログで該当フィルターのファイル名を選びます。
  8. それらの設定が終了した後,「OK」ボタンを押します。
  9. 上記の操作を輸入と輸出について繰り返します。
  10. 設定した内容を変更する場合は,「編集...」ボタンを押します。上記と同様の方法で変更します。

xmldic.odbの操作

 xmldic.odbの操作は,次のとおりです。

  1. xmldic.odbを開きます。
  2. ダイアログの左側の「フォーム」タグを押し,タグの右側のダイアログが「フォーム」になるようにします。
  3. 「辞書編集フォーム」を開きます。
  4. 1ページ目が「辞書データベース」,2ページ目が「書籍情報」です。
  5. 「辞書データベース」におけるボタンの意味は,次のとおりです。

注:マクロによる輸出入処理では,レコード数によっては非常に時間がかかりますので,注意してください。

注:初期化や輸入の処理が終了しても,ウインドウの下部にあるレコード数表示や画面の内容が変わらないことがあります。そうした場合は,「更新」ボタンを押してください。

xmldic.odtの操作

 xmldic.odtは,同梱のxmldic.xmlを輸入した結果の見本です。

 xmldic.odtを再び得るための輸入操作は,次のとおりです。

  1. 「ファイル」メニューから「開く」項目を選びます。
  2. ファイル選択のダイアログにおいて輸入フィルターとして設定したファイルの種類「Import From Dictionary To Writer」を選びます。
  3. 「開く」ボタンを押します。
  4. 辞書データが輸入されます。なお,途中で「すべてのリンクを更新しますか」というダイアログが表示されます。これには「はい」と答えてください。

 (変更した)xmldic.odtから(変更した)xmldic.xmlを得るための輸出操作は,次のとおりです。

  1. 「ファイル」メニューから「エクスポート」項目を選びます。
  2. ファイル選択のダイアログにおいて輸出フィルターとして設定したファイルの種類「Export From Writer To Dictionary」を選びます。
  3. 出力ファイル名を指定します。なお,これは「xmldic.xml」とは別の名前にしたほうがいいでしょう。
  4. 「保存」ボタンを押します。
  5. 辞書データが輸出されます。

ダウンロード

 「ケーススタディ−辞書の作成−0.5版」のダウンロード

 ダウンロードできるパッケージには次のものが同梱されています。

ファイル名種類
xmldic.odb見本としてのデータベース(フォーム文書とテーブル定義を含む)
xmldic.odt見本としてのテキスト文書
ImportFromDictionaryToWriter.xslフィルター
ExportFromWriterToDictionary.xslフィルター
xmldic.xml見本としてのSGML+XML用語辞典データ(文書インスタンス)
/objects/〜.odg引用される画像(ドロー文書)
/images/〜.png引用される画像(PNG形式のイメージ)