Open Fiori Elements 应用 metadata.xml 解析成的 JSON 对象

举报
Jerry Wang 发表于 2023/08/06 09:52:59 2023/08/06
【摘要】 在这个文件设置断点: AnnotationParser._parserData.metadataProperties = AnnotationParser.getAllPropertiesMetadata(AnnotationParser._parserData.serviceMetadata); if (AnnotationParser._parserData.metadataProp...

在这个文件设置断点:

		AnnotationParser._parserData.metadataProperties = AnnotationParser.getAllPropertiesMetadata(AnnotationParser._parserData.serviceMetadata);
		if (AnnotationParser._parserData.metadataProperties.extensions) {
			mappingList.propertyExtensions = AnnotationParser._parserData.metadataProperties.extensions;
		}

检查 service metadata:

metadata 文件里有个 reference:

这个 reference 被解析后,出现在 JSON 对象的此处:

metadata 里维护的以 Open 开头的属性:

被解析成 entityType 下的 extensions:

xmlDocument:

Open:labelOpen:content-version 是 OpenUI5 对 OData 元数据的扩展,也就是 property extension。它们的前缀 “Open” 是 XML 命名空间的一部分,表示这些扩展属性是由 Open 定义的。

Open:label 属性定义了该实体类型的显示标签,这个标签通常在用户界面上作为字段或者列的标题显示。例如,如果 Open:label 的值是 “Currency”,那么在用户界面上,这个实体类型可能会被显示为 “Currency”。如果没有设置 Open:label,系统将使用 Name 属性的值作为默认标签。

Open:content-version 属性用来标记元数据的版本,这对于版本控制和追踪元数据的变化非常重要。例如,如果你更改了实体类型的结构或属性,可以通过增加 Open:content-version 的值来表示元数据已经更改。Open 系统可以使用这个版本信息来决定是否需要重新加载元数据或者进行其他的处理。

除了这些,Open 还定义了许多其他的元数据扩展,例如 Open:creatableOpen:updatableOpen:deletable 等,用来表示这个实体类型是否可以被创建、更新或删除。

这些扩展属性提供了更丰富的元数据信息,使得 Open Fiori Elements 可以根据元数据自动生成更符合业务需求的用户界面。例如,如果一个实体类型设置了 Open:creatable 为 “false”,那么 Open Fiori Elements 生成的用户界面将不会包含创建这种实体类型的功能。

通过这种方式,Open Fiori Elements 能够大大减少手动编写用户界面代码的工作量,提高开发效率。同时,由于用户界面是根据元数据自动生成的,因此也能够保证用户界面和后端数据模型的一致性。

这就是 Open Fiori Elements 中的元数据和 property extension 的基本含义和用途。虽然 Open 提供了很多内置的元数据扩展,但在实际应用中,开发者也可以根据需要自定义新的元数据扩展,以满足特定的业务需求。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。