.xprにはまる.

.xprというのはXMLエディタoXygenのプロジェクトファイルです.どのようなときに使うかというと、
 
1.XMLファイルをオーサリングして、スキーマに基づいて検証する.
2.XSLTスタイルシートをコーディングして、文法の間違いがないか検証する.
 
という用途です.あと.xprにはTransformation Scenario(変換シナリオ)というのも記録できて、XMLファイルを開いてそれをどのように変換して結果を得るのかも記録できます.
 
例えば、.ditamapを開いてDocument-Transformation-Confiure Transormation Scenarioを選択すると次のような変換シナリオを選択できます.
 
イメージ 1
 
ここでDITA Map PDFを選べば、oXygenに搭載されたDITA-OTの標準PDF変換を使って結果を得ることができます.oXygenは自動的にAH Formatterのインストールディレクトリを検索してくれるので、リストメニューからAntenna Houseを選択すれば質の悪いFOPでなくFormatterで組版ができます.なかなか賢いです.
 
イメージ 2

でも実は今までほとんどこの機能はほとんど使ってきませんでした.なぜかというと
 
1.DITA-OTはoXygenのインストールフォルダのものが使われる.oXygenに載っているDITA-OTはたいていリリース時点の最新だが、お客様のところは必ずしも最新のDITA-OTを使っていない.
2.お客さんはたいていDITAのDTDを特殊化していて、oXygenに載っているDITA-OTのDTDで検証するとエラーになってしまう.
 
という理由があったからです.ですので、スタイルシートをoXygenでコーディングしても、DITA-OTで実際に走らせるのは[DITA-OT]/startcmd.batからコマンドプロンプトを開いてそこでバッチファイルを走らせていました.
でも最近この方法がいかに遅れていたかがわかりました.何故かというと1も2もoXygenでカスタマイズ出来たからです.
 
まずDITA-OTをお客さんの使っているものにそろえる方法ですが、これは超簡単です.DITA ScenarioのParametersからdita.dirを選択し
 
イメージ 3

${frameworksDir}/dita/DITA-OTから目的のフォルダ、例えばD:\DITA-OT1.7.5に変えてやればよいのです.
 
イメージ 4

また特殊化したDTDを使えるようにする方法ですが、こちらはOptions-PreferencesでXML Catalogsを選びます.デフォルトでC:\Program Files\Oxygen XML Editor 14.2\framework\catalog.xmlなどとされています.
 
イメージ 5

ここでUse default catalogのチェックをはずし、Catalogsにお客様の使う特殊化されたDTDを記述したカタログファイルを指定すればよいのです.そしてこれをProject Optionsを選択して保存します.こうすればそのプロジェクトを使うときにのみそのカタログファイルを有効にできるのです.
 
イメージ 6
 
こうすることにより、複数のお客様用のDTDやDITA-OTを使い分けて変換シナリオをプロジェクトファイルに指定できるようになります.これはすごく便利です.スタイルシートを修正しながら、テスト用の.ditamapを開いて、そこから変換シナリオを適用すればDITA-OTが走ってくれて、自動的に出来たPDFファイルを開いてくれます.
 
また.xprにはもっと便利な使用方法があります.DITA-OTのPDFの変換では、DITA-OTが作ってくれた中間ファイルを入力とします.ですので、スタイルシートだけを修正してテストする場合、DITA-OTを頭から走らせると中間ファイルを作るまでにすごく時間がかかってしまうのですが、これは実は無駄な処理です.DITA-OTはantで起動されますから、この中間ファイルを入力として走らせる変換シナリオを作れば、テストにかかる時間を劇的に短縮できます.この変換シナリオは、DITA-OT変換シナリオではなくantの変換シナリオで作ります.
 
このようにして、現在はコマンドラインのバッチファイルでDITA-OTを起動してテストするというのはまったく過去の話になってしまいました.すべてoXygenのIDE上からDITA-OTを動かしています.デバッグの効率が上がったことは言うまでもありません.やはり普段使うツールはちゃんと勉強して使い方に習熟したほうが良いですね.