Altova XMLSpy 2023 Professional Edition

生成XML/JSON示例文件命令在文本视图、网格视图和Schema视图中启用,并基于当前活动的Schema文件生成XML或JSON实例。如果当前活动文件是DTD或XML Schema,则将生成XML实例文件。如果当前活动文件是JSON Schema,则将生成JSON实例文件。

 

生成XML示例文件

当DTD或XML Schema处于活动状态时,您可以基于该Schema生成一个XML示例文件。单击生成XML/JSON示例文件命令将打开“生成XML示例文件”对话框(参见下方截图),您可以在其中指定示例生成的选项。

GenerateSampleXMLFileDlg

选择组的元素

一个选择组是一组元素,您可以从中使用任一个元素。例如,如果将一个名为items的元素定义为具有一个由三个元素组成的choice组:cddvdbook,则items可以有效地将这三个元素之一作为其子元素(在该元素的maxOccurs特性中指定最多出现次数)。

 

在“生成XML示例文件”对话框中,您可以选择(i) choice组中的第一分支(元素),(ii) 所有分支,或(iii) 生成后代元素数量最少的分支。请注意,选择所有分支可能会生成无效文档,因为仅允许选择choice组中的一个分支。

 

如果choice组中的任一分支是可重复的(即,它的maxOccurs值大于1),则可以在对话框的第一个文本框中指定要生成的可重复元素的数量,最多99个。如果将choice组的maxOccurs特性定义为unbounded,或定义为一个较大的数字,并在“生成XML示例文件”对话框中选择所有分支,则该choice组的maxOccurs也会由您在该对话框的第一个文本框中指定的可重复元素的数量限制。

 

 

生成非必需元素

激活该选项将同时生成Schema中定义的必需和非必需元素。激活后,您可以指定所需的嵌套级别。更大的嵌套深度可以使非必需性元素的生成达到您指定的嵌套级别。

 

 

生成非必需特性

激活该选项将同时生成Schema中定义的必需和非必需特性。

 

 

生成X个在Schema/DTD中标记为可重复的元素

激活该选项将生成您在文本框中输入的可重复元素的数量。它将应用于所有元素,包括那些在choice组中的元素。

 

 

用数据填充元素和特性

激活该选项将插入相应元素和特性的数据类型值。例如,如果将元素定义为string数据类型,则将为该元素赋予string虚拟值。

 

 

nillable元素和抽象类型

可以将nillable元素的内容视为非必需。对于具有抽象类型的元素,可以使用非抽象类型作为xsi:type 特性。

 

 

生成的XML文件的Schema分配

用于生成XML文件的Schema可以通过相对或绝对路径分配给生成的XML文件。

 

 

使用手动添加的示例值(如果可用)

如果Schema组件具有分配给它的示例值,则它将用作该组件的值或内容。对于单个组件,示例值是在“方面”输入助手,“示例”选项卡中分配的。可以指定从可用示例值中选择哪个值用于单个文件生成:

 

随机选择。

每个示例值依次用于组件的每个实例。对于每一个文件的生成,这个循环都会重新开始。

总是第一个值。

 

 

根元素

如果Schema包含多个全局元素,这些元素将被列出,并可以从列表中选择XML示例文件所需的根元素。

 

 

命名空间

单击命名空间按钮会打开“编辑命名空间”对话框(参见下方截图)。在Schema中定义的命名空间,以及在XML示例文件中所需的任何标准XML Schema命名空间都会出现在此对话框中。

GenSampleXML_NS

您可以编辑以下内容:

 

绑定到任何一个文档的命名空间的命名空间前缀。在此对话框中设置的命名空间前缀将被用作(在生成的XML文件中)相应命名空间中的节点的前缀。例如,截图中显示了http://www.xmlspy.com/schemas/textstate命名空间中的节点将在示例文件中以ts:为前缀。

您可以通过在xmlns=组合框中选择所需的命名空间将文档的命名空间之一设为默认命名空间(xmlns=)。然后,将生成被选作默认命名空间的命名空间中的节点,并不带命名空间前缀。

 

生成JSON示例文件

当JSON Schema处于活动状态时,您可以基于JSON Schema生成一个JSON示例文件。单击该命令将打开“生成JSON示例文件”对话框(参见下方截图),您可以在其中指定示例生成的选项。

GenerateSampleJSONFileDlg

您可以选择是否生成非必需对象属性非必需模式属性数组长度,以及递归定义的重复。您还可以指定是否应自动将活动的JSON Schema分配给生成的JSON示例文件。

 

© 2017-2023 Altova GmbH