名前を付けて 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_catalogstrue の場合は:

    • [保存先ファイル:] オプションはフォルダ名として扱われ、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.xml
  • MyApp_SaveAsXML_LayoutCatalog.xml
  • MyApp_SaveAsXML_FieldCatalog.xml