Selvaganesh wrote:
You need to concat the attribute values e.g.
select="replace(., concat('(', @party1, '.*?', @party2, ')'),
'<cite>$1</cite>')"
In case the xml content appear parenthesis () does not process the replace
function can u suggest any other way.
Also I have tried below way, but does not working.
select="(concat('(', string(@party1), '.*?', string(@party2), ')'),
'<cite>$1</cite>')"/>
Also I have tried the analyze-string method but it was working fine but
above issue was repeated.
Use the function defined here
http://www.xsltfunctions.com/xsl/functx_escape-for-regex.html
to escape the attribute values e.g.
<xsl:element name="caseref">
<xsl:analyze-string select="."
regex="({functx:escape-for-regex(@party1)}.*?{functx:escape-for-regex(@party2)})">
<xsl:matching-substring>
<xsl:element name="casetitle">
<xsl:value-of select="regex-group(1)"/>
</xsl:element>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:element>
</xsl:template>
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--