2013-11-20 27 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我已經添加了一種可以處理該問題的建議。 –

相關問題