Translation:How do I generate a schema?

From IDMLWiki

Jump to: navigation, search

どうやってスキーマを生成するのですか?

解決方法:<IDML-Tools>/scripts のディレクトリーにある GeneratePackageSchema.jsx と GenerateSchema.jsx スクリプトを使いなさい。


2つのタイプのスキーマがあります。1つはIDMLパッケージに対して使うもの。もう一つはパッケージではない(例えば個々のXML)ファイルに対して使うものです。app.generateIDMLSchema (JavaScript) イベントはこれら2つのどちらのタイプ用にも書いてあります。(app.generateIDMLSchemaイベントを使うには)2つの引数を使います。

  • スキーマを保存するディレクトリーパス。
  • パッケージ用か非パッケージ用か、どちらが生成されるかをコントロールする真偽値。

例えば、次のJavaScriptはパッケージ用スキーマが生成されます。

  1. app.generateIDMLSchema(Folder("/idml-schema/package"), true);

そして、次は非パッケージ用スキーマを生成します。

  1. app.generateIDMLSchema(Folder("/idml-schema/single"), false);

両スキーマタイプ共に、datatype.rncと呼ばれる共有のファイルを含みます。このdatatype.rncファイルは、両スキーマ, common data type仕様において同等です。

非パッケージ用スキーマは2つのファイルで構成します。datatype.rnc というXMLファイルと IDMarkupLanguage.rnc というスキーマファイルです。datatype.rncファイルは IDMarkupLanguage.rnc によって組み込まれます。

パッケージ用スキーマは下に羅列した複数のスキーマファイルで構成します。IDMLパッケージに含まれているそれぞれのXMLファイルに対応したスキーマファイルがあります。

  • datatype.rnc
  • designmap.rnc
  • MasterSpreads\MasterSpread.rnc
  • Resources\Fonts.rnc
  • Resources\Graphic.rnc
  • Resources\Preferences.rnc
  • Resources\Styles.rnc
  • Spreads\Spread.rnc
  • Stories\Story.rnc
  • XML\BackingStory.rnc
  • XML\Mapping.rnc
  • XML\Tags.rnc

ほとんどの場合、パッケージのXMLファイルとスキーマファイルとの間で1対1の関係があります。例えば、designmap.rnc は designmap.xmlファイルの何が正当もしくは有効なのかが記述されています。パッケージはstory、spread、それからmasterspread と様々な名前のXMLファイルを含む事ができます。Story.rnc、Spread.rnc、そして MasterSpread.rncファイルで妥当なものは何かを記述しています。

Personal tools