【发布时间】:2016-08-05 10:36:13
【问题描述】:
我有一个 FO 样式表,我想在其中匹配具有特定属性值的特定节点的第一次出现。在下面的示例中,我想匹配 name 属性等于 'MYNAME' 的第一个 <dataSet> 节点。
<xsl:template match="dataSet[@name='MYNAME'][1]">
...
</xsl:template>
XML:
<dataSet name='ALERTS'>
...
</dataSet>
<dataSet name='MYNAME'>
...
</dataSet>
<dataSet name='MYNAME'>
...
</dataset>
上面的模板匹配不起作用。获取所需节点的正确方法是什么?
【问题讨论】:
-
请发布一个可重现的示例 - 请参阅:minimal reproducible example。
-
选择
dataSet的xsl:apply-templates与处理dataSet的模板一样重要。match="dataSet[@name='MYNAME'][1]"将匹配当前上下文中的第一个dataSet。xsl:apply-templates是否同时选择了所有dataSet?