2013-11-20 29 views

回答

2

如果你只是想要的文字那么最简单的方法是应用widow-将模板修复为solution-headline元素的文本节点子元素,而不是元素本身:

<xsl:apply-templates select="solution-headline/text()" mode="widow-fix" /> 

如果总是希望寡妇固定给你只是文本,而不是包括周围的元素,然后删除现有的模板

<xsl:template match="* | @*" mode="widow-fix"> 
    <xsl:copy> 
     <xsl:apply-templates select="@* | node()" mode="widow-fix"/> 
    </xsl:copy> 
</xsl:template> 

现在,当你申请的寡妇修复模板solution-headline它将使用default template,这基本上只是<xsl:apply-templates mode="widow-fix" />(即使用相同的模式处理所有子节点)没有copy,您将获得由修正寡妇模板处理的所有后代文本节点。

+0

有没有办法修改'widow-fix'模式来总是使用'text()'?如果你可以在这里粘贴修改后的模板,我可以将其标记为答案。 –

+0

但是,是的,你的建议确实有效 –

+1

@KirkStrobeck我已经添加了一种可以处理该问题的建议。 –

相关问题