2017-06-05 40 views
0

如果两个xml标签都存在,我只希望转换的输出出现一次。那可能吗?如果两个xml标签同时出现,则输出一次

XSL

<xsl:template match="latitude | longitude"> 
    <generate_once>for both tags below</generate_once> 
</xsl:template> 

XML

<doc> 
<latitude /><longitude /> 
</doc> 
+0

我想提前道歉,如果这看起来像一个无效的问题。 – Rod

回答

1

将这个模板做的伎俩...?

<xsl:template match="latitude | longitude[not(../latitude)]"> 
    <generate_once>for both tags below</generate_once> 
</xsl:template> 

该作品以如果存在匹配latitude(不管是否有longitude与否)。但如果没有latitude,它将只匹配longitude。所以,在两者都存在的情况下,只匹配latitude

+0

嗯,我最初的测试说“它行得通!”你可以分享一些xslt新手关于如何工作的见解吗?你有没有看到任何可能的警告? – Rod

+1

我已经为我的答案添加了更多解释。答案确实假设“纬度”和“经度”具有相同的父亲。 –

相关问题