2014-10-17 71 views
0

我想選擇特定列中的所有表格單元格並將它們截斷爲10個字符。複製一個元素並用xslt截斷它

我真的不能錯這句話。

<xsl:template match="table[contains(@class, 'listing')]//tr/td[contains(@class, 'listing-body-start')]"> 
    <td> 
    <xsl:value-of select="substring(./text(), 1, 10)"/> 
    </td> 
</xsl:template> 

我可以用靜態文本替換單元格的內容,或通過選擇=複製相同的文字「」,但只要我嘗試這個方法子,細胞dissappear。

+0

請發佈您的輸入並完成預期輸出的XSLT。 – 2014-10-17 06:23:34

+0

它們是否在XSLT輸出中消失或只有在讀取XSLT輸出的程序解釋時才消失? – 2014-10-17 07:05:35

回答

0

儘量避免使用text()。這通常是不好的做法。

使用

<xsl:value-of select="substring(., 1, 10)"/> 

這適用於TD元素的字符串值,而不是它的子文本節點。在許多內容模型中,td元素包含其他元素作爲子元素是正常的,例如,一個p或para元素,在這種情況下查找子文本節點將失敗。

這個答案是一個猜測。如果你沒有告訴我們你的意見是什麼,我們別無選擇,只能猜測。

相關問題