我有一个xslt模板,我正在从xml文件中加载翻译内容。
我想在输入字段中动态设置占位符,但显然我一直在获取空格(占位符移动到右侧)。
这是我的代码。
<xsl:attribute name="placeholder">
<xsl:value-of select="/paygate/language/computop.creditcard.number.message"/>
</xsl:attribute>
我尝试删除行之间的空格,同时设置
<xsl:strip-space elements="*"/>
在文件的开头。什么都没有用:(
答案 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()
将从其(字符串)参数中删除前导和尾随空格,但也会用空格字符替换每个内部空白字符。