Как использовать fn: replace (string,pattern,replace) в XSLT
Как использовать
fn:replace(string,pattern,replace)
в XSLT
это похоже на ??
2 ответов
функция определяется следующим образом:
fn:replace($input, $pattern, $replacement, [$flags])
$input xs:string? the string to change
$pattern xs:string regular expression to match the areas to be replaced
$replacement xs:string the replacement string
$flags xs:string flags for multiline mode, case insensitivity, etc
return value xs:string
отметим, что $pattern
это регулярные выражения, а строка замены также имеет специальный синтаксис подстановки.
вот несколько примеров:
# simple replacement
replace('query', 'r', 'as') queasy
# character class
replace('query', '[ry]', 'l') quell
# capturing group substitution
replace('abc123', '([a-z])', 'x') axbxcx123
# practical example
replace('2315551212', (231) 555-1212
'(\d{3})(\d{3})(\d{4})',
'() -'
)
ссылки
-
xqueryfunctions.com - строки -
fn:replace
-
w3.org/XPath функции -
fn:replace
, флаги - regular-expressions.info - хороший учебник
Я думаю, вы делаете это так:
<xsl:value-of select="fn:replace(value, 'some-pattern', 'with some text')" />
Edit:
нашел это вопрос о stackoverflow