副本另存为 XML
将打开的文件另存为 XML 格式的架构、布局和脚本。
另请参阅
选项
-
“窗口名”指定了打开的文件的窗口名称。如果未指定,则使用当前窗口。
-
“目标文件”是创建 XML 文件的路径。请参阅创建文件路径。
-
包括分析工具的详细信息在 XML 文件中添加更多信息。
此选项添加了 DDR_INFO 元素,该元素可提供额外的信息,这些信息对可用于分析自定义应用程序的第三方工具很有用。根据您的应用程序,此选项可以生成一个明显更大的 XML 文件。
-
“将每个布局对象的二进制数据保存在其节点下”将每个布局对象的二进制数据(例如图像)存储在 XML 文件中布局对象的节点下。这使一些工具更容易使用 XML,但可能会增加 XML 文件大小。
取消选择此选项后,仅将引用存储在每个布局对象的节点下,该节点指向存储二进制数据的库数据目录。这有助于在多个布局对象使用相同的二进制数据时减小文件大小。
-
“以 JSON 格式指定选项”是一个 JSON 对象的文本表达式,允许你为该脚本步骤指定以下选项:
-
catalogs_included(JSON数组):一个包含目录名称字符串的数组,用于指定要包含在 XML 文件中的目录。如果省略此选项,则默认包含所有目录。 -
include_details(布尔值):此选项的用途与“包括分析工具的详细信息”相同,若指定此选项,则会覆盖“包括分析工具的详细信息”的值。 -
split_catalogs(布尔值):当值为true时,会为catalogs_included键中指定的每个目录创建一个单独的XML文件。当值为false或省略此选项时,则创建一个单一的 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 文件的两个版本时,请确保使用相同版本的 FileMaker Pro 将每个文件的副本另存为 XML。如果要结合使用 XML 与其他工具,请确保这些工具可以使用您的 FileMaker Pro 版本保存的 XML。
-
对于 “以 JSON 格式指定选项”,当
split_catalogs为true时:-
“目标文件” 选项将被视为文件夹名称,并会为
catalogs_included中指定的每个目录分别创建 XML 文件。如果该文件夹不存在,此脚本步骤将自动创建该文件夹。 -
在拆分目录时,
standalone_binarydata键会自动设置为true。 -
即使已在
catalogs_included中指定,LibraryCatalog 的值也会被忽略。
-
-
如果 “以 JSON 格式指定选项” 包含格式错误,该脚本步骤将返回错误代码 878(“选项的 JSON 数据包含格式化错误,无法解析” )。
示例 1
将窗口名称为 Inventory 的打开的文件副本保存到 XML 文件。
另存为 XML [ 窗口名:“Inventory” ; 目标文件:“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 ]
这会创建一个名为“MyApp_SaveAsXML”的文件夹,其中包含三个文件:
MyApp_SaveAsXML_ScriptCatalog.xmlMyApp_SaveAsXML_LayoutCatalog.xmlMyApp_SaveAsXML_FieldCatalog.xml