Я хочу написать функцию XSLT, которая должна заменить все символы, кроме ниже:Как использовать оператор NOT (^) в шаблоне регулярных выражений XSLT?
0-9A-Za-z_ * & . , #
Итак, я написал шаблон регулярного выражения в поле ниже функции:
<xsl:function name="wd:allowed_characters">
<xsl:param name="input_param" />
<xsl:if test="$input_param !=' '" >
<xsl:value-of select="normalize-space(replace($input_param,'^[a-zA-Z0-9_ * & . , #]',''))" />
</xsl:if>
</xsl:function>
выглядит, не оператор (^) не работает как другие языки. Можете ли вы предложить мне, где я делаю неправильно? Как я могу достичь своей цели здесь?
Правильная функция ниже:
<xsl:function name="wd:allowed_characters">
<xsl:param name="input_param" />
<xsl:if test="$input_param !=' '" >
<xsl:value-of select="normalize-space(replace($input_param,'[^.#, \- _ * a-zA-Z0-9]',''))" />
</xsl:if>
</xsl:function>
Почему '' 'добавлен и' & 'пропал без вести в вашей« правильной функции »? – nhahtdh