XSL - 动态设置占位符时出现空白问题

时间:2017-03-14 17:31:30

标签: html xml xslt

我有一个xslt模板,我正在从xml文件中加载翻译内容。

我想在输入字段中动态设置占位符,但显然我一直在获取空格(占位符移动到右侧)。

enter image description here

这是我的代码。

<xsl:attribute name="placeholder">
 <xsl:value-of select="/paygate/language/computop.creditcard.number.message"/>
</xsl:attribute>

我尝试删除行之间的空格,同时设置

<xsl:strip-space elements="*"/>

在文件的开头。什么都没有用:(

1 个答案:

答案 0 :(得分:1)

默认情况下,XSLT处理器应该删除仅为<xsl:attribute>的直接子节点的仅空白文本节点。如果您呈现的转换正在生成placeholder属性,其值中包含不需要的前导或尾随空格,那么,我得出结论,它来自<xsl:value-of>元素的应用;其结果不受空白剥离的影响。

在这种情况下,您可以考虑将标准normalize-space() XPath函数应用于属性值:

<xsl:attribute name="placeholder">
 <xsl:value-of select="normalize-space(string(/paygate/language/computop.creditcard.number.message))"/>
</xsl:attribute>

normalize-space()将从其(字符串)参数中删除前导和尾随空格,但也会用空格字符替换每个内部空白字符。