Translation:How do I generate a schema?
From IDMLWiki
どうやってスキーマを生成するのですか?
解決方法:<IDML-Tools>/scripts のディレクトリーにある GeneratePackageSchema.jsx と GenerateSchema.jsx スクリプトを使いなさい。
2つのタイプのスキーマがあります。1つはIDMLパッケージに対して使うもの。もう一つはパッケージではない(例えば個々のXML)ファイルに対して使うものです。app.generateIDMLSchema (JavaScript) イベントはこれら2つのどちらのタイプ用にも書いてあります。(app.generateIDMLSchemaイベントを使うには)2つの引数を使います。
- スキーマを保存するディレクトリーパス。
- パッケージ用か非パッケージ用か、どちらが生成されるかをコントロールする真偽値。
例えば、次のJavaScriptはパッケージ用スキーマが生成されます。
app.generateIDMLSchema(Folder("/idml-schema/package"), true);
そして、次は非パッケージ用スキーマを生成します。
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ファイルで妥当なものは何かを記述しています。
