Altova XMLSpy 2024 Professional Edition

JSON Schema定义可以创建为全局或局部。

 

全局定义可以通过添加定义并指定其属性在主窗口的定义概览网格中创建。全局定义可以被同一个Schema中的其他定义或其他Schema中的定义引用。这允许您在整个项目中复用定义。当前Schema的所有全局定义都显示在Schema的定义概览网格中。可以通过在“概览”输入助手中添加外部Schema来复用来自其他Schema的全局定义。

在全局定义中创建局部定义,即通过将后代或同级定义添加到全局定义。

 

引用全局定义

要从其他定义引用全局定义,请执行以下操作之一:

 

在设计视图中,将全局定义从“概览”输入助手拖至要使用的定义上。

设计视图中,右键单击要为其引用全局定义的定义并选择编辑引用。(或者,在设计视图中选择定义,然后转至其“详细信息”输入助手并单击引用字段的附加对话框按钮。)在出现的“编辑引用”对话框中(参见下方截图),选择所需的全局引用。另一种访问“编辑引用”对话框的方式是选择引用定义,转至其在“详细信息”输入助手中的引用字段并单击引用字段的附加对话框按钮(有关详细信息,请参见“详细信息”输入助手)。

JSONSVAddReference

 

请注意:定义可以(i)引用全局定义,但不包含任何局部定义或局部约束,或(ii)引用全局定义并且包含局部定义/约束(draft-2019-09以后的版本)。在后一种情况下,引用被称之为扩展引用。在“编辑引用”对话框中,您可以通过选中对话框的扩展引用复选框将对全局定义的引用创建为扩展引用。创建为扩展引用的全局定义始终显示为引用组件的定义列表中的最后一项。如果引用组件的description关键词存在一个值,则该值将显示在引用组件下方。

 

请注意:如果在全局定义被同一个Schema中的另一个定义引用后要更改其名称,则引用中的名称也会更改。但是,如果名称已更改,则必须手动编辑来自其他Schema的引用。

 

将局部定义转换为全局定义

要转换局部定义,请在设计视图中右键单击它并选择设为全局。将创建一个全局定义,然后在局部定义上创建一个对其的引用。由于全局定义的名称是自动生成的,您可以对其进行编辑。此更改反映在局部定义引用中。

 

将对全局定义的引用更改为局部定义

局部和全局定义都可以包含对全局定义的引用。要删除引用并将其属性设为局部,请在设计视图中右键单击(局部或全局)定义并选择设为局部。然后在定义上局部创建全局定义的属性。

 

© 2017-2023 Altova GmbH