[英]XSLT: combine multiple unrelated elements into one element
我正在将合格的Dublin Core转换为MODS。 我需要将两个元素合并为一个,在这里找到的其他帖子不适用,因为它们在父元素上匹配。
Dublin Core在XSLT方面存在问题,因为它没有父元素和子元素……所以我不确定该选择哪个。
这是一些示例输入(重要的位是dc:coverage元素):
<?xml version="1.0"?>
<oai_dc:dc (schema etc.)>
<dc:title>This is the title</dc:title>
<dc:creator>Author McAuthorson</dc:creator>
<dc:type>Article</dc:type>
<dc:coverage.spatial.lat>49.101</dc:coverage.spatial.lat>
<dc:coverage.spatial.long>-122.720</dc:coverage.spatial.long>
</oai_dc:dc>
这是dc:coverage元素所需的输出:
<subject>
<cartographics>
<coordinates>49.101, -122.720</coordinates>
</cartographics>
</subject>
我已经阅读了可以处理具有相同名称的不同元素的解决方案,但没有可以将两个具有不同名称的元素组合在一起的解决方案。 我已经尝试将它们设置为变量,但是无法弄清楚如何将变量从一个模板(例如,匹配dc:coverage.spatial.lat)传递到下一个模板(匹配dc:coverage.spatial.long)。 所以我有点盲目。
任何建议(或指向我找不到的适用答案的链接)将不胜感激。
您为什么不能简单地做:
<xsl:template match="/oai_dc:dc">
<subject>
<cartographics>
<coordinates>
<xsl:value-of select="dc:coverage.spatial.lat" />
<xsl:text>, </xsl:text>
<xsl:value-of select="dc:coverage.spatial.long" />
</coordinates>
</cartographics>
</subject>
</xsl:template>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.