字段配置¶
元数据选项卡的用户界面由一系列字段组件组成。可以在YAML文件中配置字段组件的类型以及它们的行为方式。所有字段都应配置为具有父键的列表 attributes
。
字段选项¶
在YAML中定义如下键-值对的字段:
values (特定字段类型)
derivedFrom (特定字段类型)
typename (特定字段类型)
钥匙¶
键是字段的标识符,因此应该是唯一的。其他配置可以通过使用该标识符来引用该字段。如地网测绘、国际化等。
键 |
必填项 |
价值 |
---|---|---|
钥匙 |
是 |
唯一的字符串 |
字段类型¶
选择字段的输入小工具的类型。有关每种类型的详细说明,请参阅 Field Types 一节。
键 |
必填项 |
价值 |
---|---|---|
字段类型 |
是 |
|
标签¶
如果存在,则该值将用作该字段的标签。当标签不在YAML配置中时,该键将用作标签。注意:当密钥出现在国际化(I18N)文件中时,请参见 Internationalization support 则该文件中的值将用作标签。
键 |
必填项 |
价值 |
---|---|---|
标签 |
不是 |
任何字符串 |
发生¶
的值 occurrence
确定该字段应显示为表还是显示为单个输入字段。 SINGLE
将产生一个输入字段。
![]()
例如,fieldType的单值输入字段
TEXT
。¶
选择 REPEAT
将在允许用户输入多个值的表中呈现该字段。
![]()
例如,字段类型为
TEXT
呈现为一张桌子。¶
可以使用绿色箭头按钮对表中的数据进行排序。
键 |
必填项 |
价值 |
---|---|---|
发生 |
不是 |
|
条件¶
条件属性是仅对某些层可见的属性。一个典型的例子是仅存在于栅格或矢量层的属性。该条件在中指定 CQL 它是根据层的 ResourceInfo 对象。
例如:
condition: equalTo(typeOf("."), 'FeatureTypeInfo')
值¶
中的选择 DROPDOWN , SUGGESTBOX 或 REQUIREBOX 可以使用 values
属性。这对于较小的列表很有用,对于较大的列表,最好在单独的.csv文件中列出选项。
派生自¶
仅用于 DERIVED 菲尔德。该属性 derivedFrom
包含父项的键,在父项上 DERIVED 字段视情况而定。点击链接,了解更多有关 DERIVED 菲尔德。
类型名称¶
这个 typename
是的必需属性 COMPLEX 菲尔兹。它包含指向 COMPLEX 菲尔德。一份特别的 typename
featureAttribute is reserved for the Feature Catalog Generation 并且不应该被使用。
字段类型¶
TEXT¶
允许任何文本的输入字段。
attributes:
- key: text-field
fieldType: TEXT
TEXT_AREA¶
多行输入。
attributes:
- key: text-area-field
fieldType: TEXT_AREA
UUID¶
UUID的输入字段,它允许任何文本输入或用户可以生成UUID。
attributes:
- key: uuid-field
fieldType: UUID
NUMBER¶
只接受数字作为有效输入。
attributes:
- key: number-field
fieldType: NUMBER
BOOLEAN¶
带有复选框的输入字段。
attributes:
- key: boolean-field
fieldType: BOOLEAN
DATE¶
不带时间信息的日期选择。
attributes:
- key: date-field
fieldType: DATE
DATETIME¶
带有时间信息的选择日期。
attributes:
- key: datetime-field
fieldType: DATETIME
DROPDOWN¶
用于从下拉列表中选择值的字段。这些值可以使用 values
属性,或者可以在另一个.csv文件中配置它们,该文件用于具有多种选择的下拉列表。
YAML文件中的配置。
attributes:
- key: dropdown-field
fieldType: DROPDOWN
values:
- first
- second
- third
要在单独的文件中配置值,请添加YAML密钥 csvImports
与…处于同一水平 attributes
并在该注册表项下添加CSV文件列表。每个CSV文件的第一行应包含要为其添加选项的下拉式字段的键。
metadata-ui.yaml
attributes:
- key: dropdown-field
fieldType: DROPDOWN
csvImports:
- dropdowncontent.csv
dropdowncontent.csv
dropdown-field
first
second
third
SUGGESTBOX¶
用于从建议框中选择值的字段。对于输入与可能值的开头匹配的值,将给出建议。可以将这些值放入单独的CSV文件中,方法与下拉列表字段相同。

attributes:
- key: suggestbox-field
fieldType: SUGGESTBOX
values:
- first
- second
- third
REQUIREBOX¶
此类型与SuggestBox相同,不同之处在于不允许用户填写自定义值,但强制用户选择建议值。当字段值必须是列表中的元素时,这可能会很方便,但这个列表太长了,下拉列表不实用。
DERIVED¶
派生字段是其值依赖于其他字段的隐藏字段。YAML密钥 derivedFrom
应包含它所依赖的字段的键。在父字段中选择值后,将在CSV文件中搜索派生字段的匹配值,或从值列表中选取具有相同索引的值。
Csv文件应该至少有两列,并从第一列的父字段的键开始,后跟父字段的值,其他列应该在第一行包含派生字段(S)的键(S),后跟匹配值。
CSV文件中具有配置的派生字段示例:

metadata-ui.yaml
attributes:
- key: derived-parent-field
fieldType: DROPDOWN
- key: hidden-field
fieldType: DERIVED
derivedFrom: derived-parent-field
csvImports:
- derived-mapping.csv
derivedmapping.csv
derived-parent-field;hidden-field
parent-value01;hidden-value01
parent-value02;hidden-value02
parent-value03;hidden-value03
值列表的派生字段示例:
metadata-ui.yaml
attributes:
- key: derived-parent-field
fieldType: DROPDOWN
values:
- parent-value01
- parent-value02
- parent-value03
- key: hidden-field
fieldType: DERIVED
derivedFrom: derived-parent-field
values:
- hidden-value01
- hidden-value02
- hidden-value03
COMPLEX¶
一个复合域由多个其他域组成。YAML密钥 typename
添加到现场配置中。在根级别上,YAML密钥 types
指示所有复杂类型定义的开始。类型定义应包含 typename
后跟按键 attributes
它包含子字段的配置。

attributes:
- key: complex-type
fieldType: COMPLEX
typename: complex-field
types:
- typename: complex-field
attributes:
- key: object-text
fieldType: TEXT
- key: object-numer
fieldType: NUMBER
要素目录生成¶
To create a feature catalog for a vector layer, a complex structure is needed to describe all the attributes. A lot of this information is already present in the GeoServer feature type or the database.
Metadata supports automatically generating a new structure in the metadata from the information at hands that can be customised afterwards.
To create support for this feature in your configuration, define a repeatable COMPLEX field with built-in fieldType
featureAttribute .
在本例中,FeatureCatalog对象有两个属性。类型的唯一标识符 UUID 和特征属性字段。

例如,要素属性字段为空¶
- typename: featureCatalog
attributes:
- label: Unique identifier
key: feature-catalog-identifier
fieldType: UUID
- label: Feature attribute
key: feature-attribute
fieldType: COMPLEX
typename: featureAttribute
occurrence: REPEAT
这个 Generate
操作将检查该层的数据库元数据,并为表中的每一列生成一个要素属性。

例如,具有生成要素类型的要素属性¶
在每个要素属性中存在另一个要素属性 Generate
将生成域的操作。

例如,生成域对话框¶
- 有两个选项可以执行此操作:
使用此属性的数据库中的现有数据。
使用来自同一数据库中的查找表的数据。在这种情况下,您必须指定表、从中获取值的属性和从中获取定义的属性。

例如,具有生成属性域的要素属性¶
国际化支持¶
中显示的所有元数据字段标签 Metadata fields 可以国际化。这是通过创建一个名为metadata.properties的国际化(I18N)文件来执行的。按照以下模式为图形用户界面配置中的每个键创建一个条目: PREFIX.attribute-key
例如:
metadata.properties
metadata.generated.form.metadata-identifier=Unique identifier for the metadata
metadata_nl.properties
metadata.generated.form.metadata-identifier=Metadata identificator
在相同的属性文件中,也可以使用键转换下拉标签 metadata.generated.form.[attributeKey].[value]=[label]
。将在内部为该字段存储的值保持不变。