XSLT - 匹配时忽略大小写

时间:2016-04-29 04:44:38

标签: xslt

我有一个XML“1.0”XSLT转换,我需要不区分大小写的匹配。 我使用以下命令将“my_col”重命名为“renamed_col”,

<xsl:template match="my_col">
    <renamed_col>
        <xsl:apply-templates select="@* | node()"/>
    </renamed_col>
</xsl:template>

如果我使用“my_col”,这可以正常工作,但是当我使用“My_Col”时失败。 无论字母大小写如何,我都需要匹配此列。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

试试这个:

 <xsl:template match="*[ translate( local-name(),
                                         'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
                                         'abcdefghijklmnopqrstuvwxyz'
                                        ) = 'my_col']">

答案 1 :(得分:1)

Priyansh Goel给出的答案将涵盖所有可能的案例变体(使用除列出的字符以外的字符的名称除外)。但是,如果您知道期望的变体,可以通过明确地列出它们来使这更简单(更快),例如:

<ul>
  <li>
    <label class="checkbox-inline">
      <input type="checkbox" value="option1"> Option 1
    </label>
  </li>

  <li>
    <label class="checkbox-inline">
      <input type="checkbox" value="option1"> Option 2
    </label>
  </li>
</ul>