0
我试图将属性值转换为大写,并使用下面的一段xslt对其进行转换。但是,这些词没有完全转化。在xslt中将XML节点转换为大写
<xsl:param
name="lang_lower"
select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:param
name="lang_upper"
select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:template match="//*[@attributename]">
<xsl:element name="{name()}">
<xsl:attribute name="L">
<xsl:value-of select="translate(@attributename, $lang_lower, $lang_upper)" />
</xsl:attribute>
<xsl:copy-of select="@*[name()!='attributename']" />
<xsl:apply-templates />
</xsl:element>
</xsl:template>
但是,有时属性('attributename')中的值没有得到转换。
请发布一个最小但完整的XML示例和一个最小但完整的XSLT示例,以便我们重现该问题,以及有关使用的XSLT处理器,获取的结果以及所需结果的信息。 –
当我使用这个模板进行转换时,其中一些单词会被转换,剩下的则会被忽略。例如,在'de'中,输出被转换为'dE'而不是'DE'等。 –
同时,用于改变情况的转换发生在模板的末尾。但是,对于'attributename'的父项还有另一个xslt模板。在这种情况下,转换是否存在问题? –