У меня есть код xsl, в котором мне нужно реализовать функцию replaceAll, как мы это делаем в Java. Я попробовал функцию 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>
translate()
делает не то, что вы думаете. Может быть, вы пытаетесь заменить каждый символ/
строкой/
? Если да, то лучший ответ зависит от того, можете ли вы использовать XSLT 2.0 или застряли на 1.0. - person LarsH   schedule 09.07.2013