Я использую xslt 1.0 для преобразования моего xml.ошибка regexp на xslt 1.0
У меня есть эта строка:
hello 1s: This is very nice day. 9s: Christmas is about to come 14s: and christmas preparation is just on 25s: this is awesome!!
Я хочу, чтобы отформатировать его, как это:
hello This is very nice day. Christmas is about to come and christmas preparation is just on this is awesome!!
Чтобы сделать это, я попытался это XSLT:
<?xml version='1.0' encoding='UTF-8' ?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:regexp="http://exslt.org/regular-expressions"
extension-element-prefixes="regexp" >
<xsl:import href="regexp.xsl" />
<xsl:template match='/'>
<xsl:value-of select="regexp:replace(string(.), '[0-9]{1,4}s: ', 'g', '')" />
</xsl:template>
</xsl:stylesheet>
но я получив следующую ошибку, когда я запустил это:
java.lang.NoSuchMethodException: For extension function, could not find method java.lang.String.replace([ExpressionContext,] #STRING, #STRING, #STRING).
Что я делаю неправильно?
Привет, спасибо за ваш ответ .. но fn: заменить fuction заменит текст исправления, но в моем случае .. мой текст замены не исправлен (например, gs, 2s:, 3s: в этом формате) , поэтому я должен применять regexp в нем .. и я запускаю свой xslt в Linux-сервере с поисковой системой solr. поэтому он дает ошибку в этом формате. – meghana
Образец в функции replace ссылается на шаблон регулярного выражения –
hmm ... я видел это .., но у меня нет доступа к нему в xslt 1.0 – meghana