2

在向 DSpace 提交新项目时,我发现元数据值表的 text_lang 列存在不一致。

我创建了一个新提交并在项目提交屏幕上的每个字段中填充了一个值。提交完成后,我最终得到了以下结果。

  • 大多数条目的 text_lang 为“en”
  • dc.date.* 条目的 text_lang 为空(这适用于用户生成和系统生成的日期)
  • 大多数 dc.identifer.* 条目的 text_lang 为 null
  • dc.identifier.bibliographicCitation 的 text_lang 为“en”
  • dc.relation.ispartofseries 的 text_lang 为空
  • dc.relation.uri 有一个 text_lang "en"

项目提交工作流之一中是否有一个属性可以控制在创建新项目时如何设置 text_lang 列?

4

1 回答 1

3

Terry,

There is no magic property. You will find that this DCValue/MetadataValue attribute is populated differently in different DSpace applications (SWORD, LNI, XMLUI, JSPUI, CLI).

In each of the cases where the application code sets the language, there are several methods in the DSpace Item class responsible for populating metadata values, to find the cases you are seeking, you will need to dig deeply into the applications usage of these org.dspace.content.Item.java methods:

https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L608 https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L631 https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L660 https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L706 https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L800 https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L832

This is an area that could stand to have vast improvement made in DSpace, to add to your examples, there are places in DSpace where an "*" is placed into the lang field which is also incorrect.

Ideally, DSpace MetadataValue should place some validation/control on this attribute to assure that it is being populated with correct values.

Regards, Mark

于 2014-12-03T20:01:45.090 回答