You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用XSL实现局部小写转大写且不改动内部元素节点

XSL转换实现方案

需求核心是保留所有标签结构仅修改文本内容,基于XSLT恒等转换模板扩展即可,仅针对文本节点做字符替换,其他所有节点、属性原样复制。

完整可运行XSL代码
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- 恒等转换模板:复制所有节点、属性不变 -->
    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>

    <!-- 仅处理文本节点:将所有小写g替换为大写G -->
    <xsl:template match="text()">
        <xsl:value-of select="translate(., 'g', 'G')"/>
    </xsl:template>
</xsl:stylesheet>
逻辑说明
  • 恒等转换模板默认复制所有元素、属性、注释等内容,保证<b>、<i>这类内部标签完全保留不会被修改
  • 文本节点专属模板仅处理纯文本内容,调用translate()方法完成小写g到大写G的替换,其余字符不受影响
  • 代码适配XSLT 1.0及以上所有版本,兼容性强,不需要额外配置即可生效,测试匹配示例输入可直接输出预期结果

内容的提问来源于stack exchange,提问作者Shanmugalakshmi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 04:57:01