在我的XSLT中,我将两个数据元素一起折叠以创建用于导入图像的文件名。以下模板连接元素并使用变量将任何大写字母转换为小写。但是一些Surname和FirstName元素中有空格我们需要用“_”(下划线)替换。如何将此功能添加到此功能?
这是模板(我包含了变量供参考):
...<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />...
<xsl:template match="Consultant">
<consultant>
<consultantphoto>
<xsl:attribute name="href">
<xsl:text>file://images/</xsl:text>
<xsl:value-of select="translate(Surname, $uppercase, $smallcase)"/>
<xsl:text>_</xsl:text>
<xsl:value-of select="translate(FirstName, $uppercase, $smallcase)"/>
<xsl:text>.jpg</xsl:text></xsl:attribute>
</consultantphoto>
</xsl:text>
</consultant>
</xsl:template>
此模板会生成XML图像引用,如:<consultant href="file://surname_firstName" />
答案 0 :(得分:1)
您可以以小写形式添加大写和下划线(“_”)的另一个字符空间:
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz_'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ '" />