我找到了自定义 EXPORT(CSV) 函数输出的解决方案。
这是要考虑的两个文件:
geonetwork/WEB-INF/data/config/schema_plugins/iso19115-3.2018/layout/tpl-csv.xsl
geonetwork/xslt/services/csv/csv-search.xsl
在第一个中,正如@josegar74 向我建议的那样,您必须在抽象元素和类别元素之间添加类似的行: myfieldvalue 在我的情况下,我插入了:
<title><xsl:copy-of select="mdb:identificationInfo/*/mri:citation/*/cit:title"/></title>
<cloud_coverage_percentage><xsl:copy-of select="mdb:contentInfo/mrc:MD_ImageDescription/mrc:cloudCoverPercentage/gco:Real"/></cloud_coverage_percentage>
特别是关于云覆盖百分比,请记住在标题中添加命名空间,因为它缺少:
xmlns:mrc="http://standards.iso.org/iso/19115/-3/mrc/2.0"
然后我评论了我不感兴趣的所有其他行,但是:
<xsl:copy-of select="gn:info"/>
关于第二个文件 csv-search.xsl,我发现为避免自动打印 3 列:“schema”、“uuid”、“id”,
您必须注释以下行:
<xsl:text>"schema"</xsl:text>
<xsl:value-of select="$sep"/>
<xsl:text>"uuid"</xsl:text>
<xsl:value-of select="$sep"/>
<xsl:text>"id"</xsl:text><xsl:value-of select="$sep"/>
和
<xsl:value-of select="concat('"', $metadata/geonet:info/schema, '"', $sep,
'"', $metadata/geonet:info/uuid, '"', $sep,
'"', $metadata/geonet:info/id, '"', $sep)"/>
通过这种方式,我有可能获得所需的输出:
"uuid","title","cloud_coverage_percentage","category","date-creation" "c94da70e-066e-11ea-aa22-02000a08f492","S2A_MSIL1C_20180320T101021_N0206_R022_T33TUM_20180320T122057","36. 20T12:20:57", "7caf22dc-066f-11ea-a038-02000a08f492","S2A_MSIL1C_20180320T101021_N0206_R022_T33TVN_20180320T122057","100.0","2018-72","2018-72"
如果您不想看到最后一个值之后的最后一个逗号(在我的例子中是日期创建),您可以在文件末尾添加一小段代码:
comment the line
`<xsl:value-of select="$sep"/>` (l.185)
add the following lines of codes:
<xsl:if test="position() != last()">
<xsl:value-of select="$sep"/>
</xsl:if>
我将尝试为此打开一个拉取请求。
我希望这些附加信息对其他人有用。