Xslt 我如何定制";导出为csv“;地理网络中的功能?
我想在Geonetwork 3.8.1中自定义导出为csv功能 我知道要编辑的文件是tpl-csv.xsl,在我的例子中,它位于这里 geonetwork/WEB-INF/data/config/schema_plugins/iso19115-3.2018/layout/tpl-csv.xsl 我想要的输出如下:Xslt 我如何定制";导出为csv“;地理网络中的功能?,xslt,export-to-csv,geonetwork,Xslt,Export To Csv,Geonetwork,我想在Geonetwork 3.8.1中自定义导出为csv功能 我知道要编辑的文件是tpl-csv.xsl,在我的例子中,它位于这里 geonetwork/WEB-INF/data/config/schema_plugins/iso19115-3.2018/layout/tpl-csv.xsl 我想要的输出如下: “标题”、“云覆盖”、“类别”、“日期创建” “S2A\U MSIL1C\U 20151127T103352\U N0204\U R108\U T32TLS\U 20151127T10
“标题”、“云覆盖”、“类别”、“日期创建”
“S2A\U MSIL1C\U 20151127T103352\U N0204\U R108\U T32TLS\U 20151127T103440”、“36.6172”、“数据集”、“2015-11-27T10:34:40”
我做了一些测试,但我只能
“模式”、“uuid”、“id”、“cit:标题”、“gco:真实”、“类别”、“日期创建”
“iso19115-3.2018”、“89d82f0a-051e-11ea-80ac-02000a08f492”、“1155”、“S2A\U MSIL1C\U 20151127T103352\U N0204\U R108\U T32TLS\U 20151127T103440”、“36.6172”、“数据集”、“2015-11-27T10:34:40”
如何以更正确的方式编辑tpl csv.xsl?我找到了自定义导出(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>
然后aI评论了我不感兴趣的所有其他行,但是:
<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"/>
“模式”
“uuid”
“id”
及
这样,我就有可能获得所需的输出:
“uuid”、“标题”、“云覆盖率”、“类别”、“创建日期”
“c94da70e-066e-11ea-aa22-02000a08f492”,“S2A_MSIL1C_20180320T101021_N0206_R022_T33TUM_20180320T122057”,“36.0368”,“数据集”,“2018-03-20T12:20:57”,
“7caf22dc-066f-11ea-a038-02000a08f492”、“S2A_MSIL1C_20180320T101021_N0206_R022_T33TVN_20180320T122057”、“100.0”、“数据集”、“2018-03-20T12:20:57”
如果您不想看到最后一个值后的最后一个逗号(在我的例子中是日期创建),可以在文件末尾添加一小段代码:
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>
注释该行
``(l.185)
添加以下代码行:
我将尝试为此打开一个pull请求
我希望这些额外的信息对其他人有用
<xsl:value-of select="concat('"', $metadata/geonet:info/schema, '"', $sep,
'"', $metadata/geonet:info/uuid, '"', $sep,
'"', $metadata/geonet:info/id, '"', $sep)"/>
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>