我想用单词/
替换单个and
。
这就是我现在所拥有的:
代码:
<xsl:output omit-xml-declaration="yes" indent="yes"/>
!-- identity transform -->
<xsl:template match="node()|@*">
<xsl:copy>
xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
!-- exception -->
<xsl:template match="*[local-name()='Category']/@CleanName">
<xsl:attribute name="CleanName">
<xsl:value-of select="translate('Cd /dvd inlays', '/ ', 'and')" />
</xsl:attribute>
</xsl:template>
输入:
<Category ID="129" CleanName="Cd /dvd inlays"></Category>
输出:
"Cdnadvdninlays"
给予:
"Cd /dvd inlays"
需要:
"cd and dvd inlays"
答案 0 :(得分:2)
translate()
用单个字符替换单个字符,而不是用字符串替换单个字符。在您的情况下,您将// Since 'JSON.stringify' hides 'undefined', the code bellow is necessary in
// order to display the real param that have invoked the error.
JSON.stringify(hash, (k, v) => (v === undefined) ? '__undefined' : v)
.replace('"__undefined"', 'undefined')
替换为/
,将SPACE替换为a
- 而不是您想要的。
您想要n
。不幸的是,replace()
需要XSLT 2.0。有关XSLT 1.0中的替换功能,请参阅XSLT string replace。