0

我有一个 xsl 代码,我需要像在 Java 中那样实现 replaceAll 功能。我尝试了 trasnlate 功能,但它不起作用。我不确定在下面的代码中在哪里以及如何使用该功能,请您帮忙。

<xsl:template match="warning">
    <xsl:param name="drugsSub" select="'false'"/>
    <tr>
      <td class="dataRowBorderBottom rowColor" style="width: 35%; padding-right: 5px; font-size:.85em;">
        **<xsl:apply-templates select="translate(warningId,'/','/ ')">**    This is not working. I want translate function to work both warningId. A value comes for this variable from some other file.
          <xsl:with-param name="drugsSub" select="$drugsSub"/>
        </xsl:apply-templates>
      </td>
      <td class="dataRowBorderBottom rowColor leftPadding" style="width: auto; padding-bottom: 15px; font-size:.85em;">
        <xsl:apply-templates select="severity"/>
      </td>
      <td class="dataRowBorderBottom rowColor leftPadding" style="width: 13%;font-size:.85em;">
        <xsl:apply-templates select="documentationRating"/>
      </td>
      <td class="dataRowBorderBottom rowColor leftPadding" style="width: 35%; padding-top: 3px; font-size:.85em;">
        <xsl:value-of select="warningText"/>
      </td>
    </tr>
  </xsl:template>
4

1 回答 1

0

我可以告诉你为什么代码不起作用: translate() 产生一个字符串,你不能将模板应用于字符串(仅应用于节点集)。

但我不能告诉你如何解决它,因为我不知道你想要达到什么目的。

于 2013-07-09T22:03:24.453 回答