名前を付けて XML として保存
開いているファイルのコピーをスキーマ、レイアウト、およびスクリプトの XML 表現として保存します。
オプション
-
[ウインドウ名] は、開いているファイルのウインドウ名を指定します。指定しない場合、現在のウインドウが使用されます。
-
[保存先ファイル] は、作成する XML ファイルのパスです。ファイルパスの作成を参照してください。
-
[分析ツールの詳細を含める] は、XML ファイルにさらに情報を追加します。
このオプションはカスタム App の分析に使用できるサードパーティ製のツールに役立つ追加情報を含む DDR_INFO 要素を追加します。カスタム App によっては、このオプションでは非常に大きな XML ファイルが生成されます。
-
[各レイアウトオブジェクトのバイナリデータをノード下に保存] は、すべてのレイアウトオブジェクトのバイナリデータ (イメージなど) を XML ファイルのレイアウトオブジェクトのノード下に保存します。これにより一部のツールで XML をより簡単に使用できるようになりますが、XML ファイルのサイズが大きくなる可能性があります。
このオプションの選択を解除すると、各レイアウトオブジェクトのノードには、バイナリデータが保存されているライブラリデータカタログを指す参照のみが保存されます。これにより同じバイナリデータが多くのレイアウトオブジェクトに使用されている場合のファイルサイズを小さくすることができます。
-
[オプションを JSON として指定] は JSON オブジェクトのテキスト式で、このスクリプトステップの次のオプションを指定できます:
-
catalogs_included(JSON 配列): XML ファイルに含めるカタログを指定するカタログ名文字列の配列。省略した場合、すべてのカタログがデフォルトで含まれます。 -
include_details(論理値): このオプションは [分析ツールの詳細を含める] と同じ目的で、指定されている場合はその値を上書きします。 -
split_catalogs(論理値):trueの場合、catalogs_includedキーで指定された各カタログごとに別々の XML ファイルを作成します。falseまたは省略された場合、1 つの XML ファイルを作成します。分割カタログの動作の詳細については、メモを参照してください。 -
standalone_binarydata(論理値): このオプションは [各レイアウトオブジェクトのバイナリデータをノード下に保存] と同じ目的で、指定されている場合はその値を上書きします。
このオプションを最初に選択した場合、FileMaker Pro は自動的にテンプレート計算を生成して上記のすべてのキーをデフォルト値で返します。
catalogs_includedのサポートされているすべてのカタログ名も含まれ、後でカスタマイズできます。 -
互換性
| 製品 | サポート |
| FileMaker Pro | はい |
| FileMaker Go | いいえ |
| FileMaker WebDirect | いいえ |
| FileMaker Server | はい |
| FileMaker Cloud | はい |
| FileMaker Data API | いいえ |
| カスタム Web 公開 | いいえ |
起点バージョン
18.0
説明
このスクリプトステップは [ツール] > [名前を付けて XML として保存...] を選択する操作に似ています。データベースのスキーマのドキュメント化を参照してください。
[オプションを JSON として指定] を使用すると、含めるカタログや出力を複数のファイルに分割するかどうかを動的に指定する必要がある複雑なシナリオを自動化できます。
メモ
-
このスクリプトステップを実行するには、ユーザまたはスクリプトに完全アクセス権が必要です。スクリプトの作成と編集を参照してください。
-
この XML 形式は、FileMaker Pro のバージョンごとに変更されることがあります。XML を使用して FileMaker Pro ファイルの 2 つのバージョンを比較する場合、必ず同じバージョンの FileMaker Pro を使用して各ファイルのコピーを XML として保存してください。他のツールで XML を使用する場合は、それらのツールが、ご使用の FileMaker Pro バージョンで保存された XML を使用するように設計されていることを確認してください。
-
[オプションを JSON として指定] で、
split_catalogsがtrueの場合は:-
[保存先ファイル:] オプションはフォルダ名として扱われ、
catalogs_includedで指定したカタログごとに別々の XML ファイルが作成されます。フォルダが存在しない場合は、このスクリプトステップによって作成されます。 -
カタログを分割する場合、
standalone_binarydataキーは自動的にtrueに設定されます。 -
LibraryCatalog の値は
catalogs_includedで指定されている場合でも無視されます。
-
-
[オプションを JSON として指定] に形式エラーが含まれる場合、スクリプトステップはエラーコード 878 (「[オプション] の JSON データに書式エラーが含まれているため解析できませんでした」) を返します。
例 1
ウインドウ名が「在庫」である開いているファイルのコピーを XML ファイルに保存します。
名前を付けて XML として保存 [ ウインドウ名: "在庫" ; 保存先ファイル: 「Inventory.xml」]
例 2
現在のウインドウで指定したファイルからスクリプト、レイアウト、およびカスタム関数のみを [オプションを JSON として指定] を使用して XML ファイルに保存します。
変数を設定 [$jsonOptions ; 値:
JSONSetElement ("{}" ;
["catalogs_included" ; JSONMakeArray (
"ScriptCatalog LayoutCatalog CustomFunctionsCatalog" ;
" " ; JSONString) ; JSONArray] ;
["include_details" ; False ; JSONBoolean] ;
["split_catalogs" ; False ; JSONBoolean] ;
["standalone_binarydata" ; False ; JSONBoolean]
)
]
名前を付けて XML として保存 [ウインドウ名: ; 保存先ファイル: "MyApp_Schema.xml" ; 分析ツールの詳細を含める ; オプションを JSON として指定: $jsonOptions]
スクリプトステップで [分析ツールの詳細を含める] が選択されていても、[オプションを JSON として指定] で include_details キーが False に設定されているために上書きされます。
例 3
スクリプト、レイアウト、およびフィールドを「MyApp_SaveAsXML」という名前のフォルダ内の別々の XML ファイルに保存します。
変数を設定 [$jsonOptions ; 値:
JSONSetElement ("{}" ;
["catalogs_included" ; JSONMakeArray (
"ScriptCatalog LayoutCatalog FieldCatalog" ;
" " ; JSONString) ; JSONArray] ;
["include_details" ; True ; JSONBoolean] ;
["split_catalogs" ; True ; JSONBoolean]
)
]
名前を付けて XML として保存 [ウインドウ名: ; 保存先ファイル: "MyApp_SaveAsXML" ; オプションを JSON として指定: $jsonOptions]
これにより次の 3 つのファイルを含む「MyApp_SaveAsXML」という名前のフォルダが作成されます:
MyApp_SaveAsXML_ScriptCatalog.xmlMyApp_SaveAsXML_LayoutCatalog.xmlMyApp_SaveAsXML_FieldCatalog.xml