如果两个xml标签都存在,我只希望转换的输出出现一次。那可能吗?如果两个xml标签同时出现,则输出一次
XSL
<xsl:template match="latitude | longitude">
<generate_once>for both tags below</generate_once>
</xsl:template>
XML
<doc>
<latitude /><longitude />
</doc>
如果两个xml标签都存在,我只希望转换的输出出现一次。那可能吗?如果两个xml标签同时出现,则输出一次
XSL
<xsl:template match="latitude | longitude">
<generate_once>for both tags below</generate_once>
</xsl:template>
XML
<doc>
<latitude /><longitude />
</doc>
将这个模板做的伎俩...?
<xsl:template match="latitude | longitude[not(../latitude)]">
<generate_once>for both tags below</generate_once>
</xsl:template>
该作品以如果存在匹配latitude
(不管是否有longitude
与否)。但如果没有latitude
,它将只匹配longitude
。所以,在两者都存在的情况下,只匹配latitude
。
嗯,我最初的测试说“它行得通!”你可以分享一些xslt新手关于如何工作的见解吗?你有没有看到任何可能的警告? – Rod
我已经为我的答案添加了更多解释。答案确实假设“纬度”和“经度”具有相同的父亲。 –
我想提前道歉,如果这看起来像一个无效的问题。 – Rod