SAP Fiori Elements 是 SAP 提供的一种用户界面开发框架,它允许开发人员创建符合 Fiori 设计原则的应用程序。这种框架主要基于 SAPUI5,它是 SAP 的一种基于 HTML5 的用户界面技术。Fiori Elements 提供了一种声明性的方式来定义用户界面,这意味着开发人员不需要编写大量的前端代码。相反,他们可以使用一种称为注解的技术来描述应用程序应该如何呈现和操作数据。
在 SAP Fiori Elements 应用注解中,"propertyAnnotations" 是用来描述数据模型中特定属性的特性和行为的一种方法。它们使得开发人员能够以一种更高级别的方式来定义用户界面,而不是直接编写代码。这些注解可以直接在数据模型的元数据文档中定义,或者可以在称为注解文件的单独 XML 文档中定义。
"propertyAnnotations" 中的每一项都关联到数据模型中的一个属性。每个属性注解都可以包含多个注解项,这些注解项描述了该属性的各种方面,例如它在用户界面中的表示方式,它是否可编辑,它是否必须的,等等。这些注解项都是预定义的,它们的意义和行为由 Fiori Elements 框架解释和实现。
例如,假设我们有一个表示订单的数据模型,其中有一个名为 "Amount" 的属性,表示订单的金额。我们可以使用 "propertyAnnotations" 来描述这个属性应该如何在用户界面中呈现。以下是一个可能的注解定义:
<Annotations Target="MyModel.Order/Amount">
<Annotation Term="Common.Label" String="Order Amount" />
<Annotation Term="Common.Text" Path="AmountText" />
<Annotation Term="UI.DataField" >
<Record>
<PropertyValue Property="Value" Path="Amount" />
<PropertyValue Property="Label" String="Order Amount" />
<PropertyValue Property="Criticality" Path="AmountCriticality" />
</Record>
</Annotation>
</Annotations>
在这个例子中,我们定义了三个注解项。"Common.Label" 注解项定义了属性在用户界面中的标签。"Common.Text" 注解项定义了一个路径,该路径指向一个用于生成属性值文本表示的属性。"UI.DataField" 注解项描述了属性如何在用户界面中表示。它的 "Value" 属性定义了数据字段的值,"Label" 属性定义了数据字段的标签,"Criticality" 属性定义了一个路径,该路径指向一个表示数据字段的重要性或严重性的属性。
再看另一个例子:
上图高亮的注解,来自 metadata.xml
这个位置: