Altova XMLSpy 2024 Professional Edition

输入助手:概览、详细信息、约束

首页 上一页 向上一级 下一页

默认情况下,JSON Schema视图中的输入助手位于应用程序窗口的右侧。它们在主窗口的两种模式下都可用:(i) 定义概览网格,和(ii) 设计视图。您可以通过标题栏将输入助手窗口拖至屏幕上的其他位置,然后双击输入助手的标题栏以停靠或取消停靠该输入助手。有关这些操作的更多信息,请参见输入助手

 

“概览”输入助手

“概览”输入助手(参见下方截图)列出了当前的Schema定义和当前Schema的所有全局定义。双击定义将在设计视图中打开该定义,您可以在其中对其进行编辑。如果您希望使用来自外部Schema的定义,需要首先添加外部Schema,然后复用所需的定义。

 

 

添加外部Schema

要添加外部Schema,请在“概览”输入助手中单击添加新Schema图标,然后找到您希望添加的Schema。添加了Schema后,其定义将显示在“概览”输入助手中。例如,在下方截图中,您可以看到已添加了TelNumbers.json Schema,它有一个名为USTelephoneNumbers的定义。您可以添加任意数量的外部Schema。
 
JSONSVOverviewEH01

复用外部定义

添加了外部Schema后,其定义可以在导入Schema的定义中复用。如果一个定义复用另一个定义(通过引用),则它将具有该定义的属性。引用可以通过两种方式完成:

 

在设计视图中:通过将定义从“概览”输入助手拖至所需的定义上。

在定义概览网格或设计视图中:通过想要复用的定义的“详细信息”输入助手的引用字段。这在下方的“详细信息”输入助手部分进行了说明。

 

提示:“概览”窗口中外部Schema旁边的刷新图标会更新所有已添加的外部Schema。请注意,如果尚未复用已添加的外部Schema中的定义,则在刷新列表时,将从列表中删除该Schema。

 

“详细信息”输入助手

当在主窗口的以下任一模式下选择定义时,可以在“详细信息”和“约束”窗口中输入定义的属性:定义概览网格或设计视图。下方截图显示了设计视图USTelephoneNumbers的定义,以及“详细信息”和“约束”输入助手。请注意,两个输入助手中的信息也显示在设计视图的定义(蓝色)框中。下方列出了在这两个输入助手中可以设置的属性。

JSONDefsDetailsConstraintsEH01

您可以在“详细信息”输入助手中输入以下信息:

 

名称:定义的名称。

引用:要在定义中复用另一个定义,请单击引用字段的附加对话框按钮(参见上方截图)。这将打开“编辑引用”对话框,其中列出了所有可用的定义(来自当前Schema和外部Schema)。请选择想要复用的定义,选中相对路径(如需要),然后单击确定。有关详细信息,请参见全局和局部定义

类型:从组合框的下拉列表中选择定义的数据类型。请注意,更改类型会导致先前类型的关键词被删除。如果您希望回到上一个定义,请按撤消(Ctrl-Z)。有关类型的说明,请参见JSON数据类型选择器(Any,Multiple等)

ID:这是一个可选的关键词,用于为Schema定义URI。该URI可以用来引用Schema,并作为Schema中其他URI引用的基URI。ID值必须是URI形式的字符串。请注意,Altova JSON验证器仅使用规范的去引用。有关更多信息,请参见JSON规范

锚(draft-2019-09中的新功能):这是一个可选的标识符关键词,它提供纯名称形式的片段(而不像ID中的URI)。Anchor的值必须是在相应版本中描述的字符串。

标题,描述:这两个关键词的值用于描述目的,最终用户可以阅读。

注释(draft-07中的新功能):用作开发人员的注释,而不是针对最终用户的“描述”。

Const(draft-06中的新功能):常量值,例如单值枚举。

默认值:定义的默认值。

只读,只写(draft-07中的新功能):这分别表示只读和只写字段。一个只写字段的示例是密码字段。

Deprecated(draft-2019-09中的新功能):表示所选定义以后会被删除的一个指示符。应用程序会对这类定义进行特殊处理。

 

“约束”输入助手

定义的约束取决于其类型。下方描述了每种类型的约束。(另请参见原子类型。)

JSONConstraintsString

如果一个类型没有出现在下面的列表中,则不能为它定义任何约束。但是,可以为所有类型定义枚举:

 

字符串:字符串的长度和模式;模式由正则表达式指定。在格式字段中,您可以选择规范中定义的字符串格式之一(参见上方截图,其中列出了draft-04中可用的格式);其他格式在较新的版本中有定义。在内容媒体类型内容编码(draft-07中的新功能)中,选择以JSON字符串编码的非JSON数据的媒体类型和编码

数值:允许的值范围。

数组:数组中允许的项数,以及数据项是否是唯一的。

对象:允许的属性数量。

 

所有类型的“约束”输入助手都有一个“枚举”选项卡。您可以在其中针对该定义的类型指定允许的数据项列表。此外,针对所有类型,除了Forbidden以外,还有一个“示例”选项卡(draft-06中的新功能)。这是一个不带任何验证影响的示例数组;default的值可以用作一个例子,不需要在这个关键词下重复。

 

© 2017-2023 Altova GmbH