In the second argument brackets can be used to create substring which can be referred to in the third argument using "$number" syntax.
If the number following "$" in the third argument is higher then number of brackets in the second one an empty string is used as the replacement (see the second xsl:value-of in the example).
"$0" refers to the whole matched string as in the third xsl:value-of.
|
XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/> <xsl:template match="/aaa"> <xxx> <xsl:value-of select="replace(.,'(\d+)-(\d+)-(\d+)','$3$2::$1')"/> </xxx> <yyy> <xsl:value-of select="replace(.,'(\d+)-\d+-\d+','$3$2::$1')"/> </yyy> <zzz> <xsl:value-of select="replace(.,'(\d+)-(\d+)-(\d+)','$0 --- $3/$1')"/> </zzz> </xsl:template> </xsl:stylesheet> |
|
|
XML
<aaa>111-222-33</aaa> |
Output
<xxx>33222::111</xxx> <yyy>::111</yyy> <zzz>111-222-33 --- 33/111</zzz> |
| Previous chapter: | Functions operating on strings |
| Next chapter: | Number Formatting |
| Previous page: | Replacing patterns in a string - replace function |
| Next page: | Escaping special characters |