Translation:How do I validate an IDML file

From IDMLWiki

Jump to: navigation, search

どのようにしてIDMLファイルは検証するのですか?

解決方法:IDMLTools内に用意してある validation tool を使いなさい。


  1. IDMLTools ReadMe file に説明してあるように、IDMLToolsをセットアップしてください。
  2. 11ページの「どうやってスキーマを生成するのですか?」を参照して2つのスキーマを生成してください。
  3. <IDMLTOOLS>/bin 内のプラットフォームに適したスクリプトを実行しなさい。


IDMLToolsにはJingベースの検証ツールがあります。Jingは、RELAX NG のcompact形式をサポートしたJavaベースのオープンソース、スキーマ検証パッケージです。IDMLToolsスキーマ検証ツールはcom.adobe.idml.Validatorクラスの中で実装されています。それはJavaかもしくはコマンドラインから実行することができます。

非パッケージのIDMLファイルの検証は技術的にとても単純です。単体のXMLファイルを検証するのと同じ事です。Jingだけで実行するので単純なことです。Validatorクラスを使う事がほんとうのメリットとなるのはパッケージファイルを扱う時です。validationツールは自動的にテンポラリーディレクトリーへ解凍し、それぞれのファイルを検証します。RelaxNG上では記述できない追加された検証も含んでいます。例えば、すべてのパッケージファイルが存在しているかをチェックします。

プラットフォームごとのシェルスクリプト(Windows用にはvalidate.bat、Macintosh用にはvalidate.sh)の内部で、クラスファイルのパスと実行するValidatorクラスをセットします。これらのスクリプトは次の場所にあります。

<IDMLTOOLS>/bin 

ヒント:検証を簡単に実行するには、あなたの環境変数のPATHに <IDMLTOOLS>/bin を加え、他のディレクトリーから実行すると良いでしょう。これはすべてのスクリプトが環境変数IDMLTOOLS_HOMEを使うように構成されているからです。

パッケージや非パッケージファイルを検証するには2つの引数と共に実行します。第一引数はスキーマのパスです。第二引数は検証対象のパスです。(idmlパッケージファイル、もしくは展開したフォルダのパス。スキーマが非パッケージタイプならxmlファイルなど)Javaのクラスは、それがパッケージを処理するのか非パッケージファイルを処理するのかを決め、実際に検証するためにJingを呼び出します。


Windows:

validate.bat c:¥idml-schema¥package-schema MyFile.idml 
validate.sh c:¥idml-schema¥non-package-schema MyStory.icml 

Mac OS:

validate.sh /idml-schema/package-schema/ MyFile.idml 
validate.sh /idml-schema/non-package-schema/ MyStory.icml 


使い方を確認するには、-h オプションを使ってスクリプトを実行してください。

$ validate.sh -h
Usage:
Validator SchemaPath PackagePath [PackagePath...]
Personal tools