Re: [xsl] String Replacement in XML using XSLT
Subject: Re: [xsl] String Replacement in XML using XSLT|
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Mon, 25 Sep 2006 19:57:24 +0200
What actually is the problem? Can you give the XSLT that is not working?
XSLT 1 or 2?
Here's a snippet in xslt 2, to be placed in the context of "content_vars":
<!-- replaces subject value -->
'(\[\[BUYERS_NAME\]\])', ../BUYERS_NAME)" />
<!-- replaces ordernr value -->
'(\[ORDER_NUMBER\])', ../ORDER_NUMBER)" />
If you rather want the text to be matched based on the name inside the
brackets, make sure to distinguish between double square brackets and
single square brackets. A regex to help you with that is:
replace(xxxx, '.*\[\[?([^\+)\]\]?.*', '$1')
which effectively leaves the place inside the square brackets, be there
one or two brackets (not really readable is it? That's why not everybody
likes regular expressions.. ;-) . You can place the result in a variable
and compare other names using local-name() with this. Something like
that, but it all really depends on your requirements and on what you
With XSLT 1, your best luck is to work out some recursive templates to
do about the same.
Senthilkumaravelan Krishnanatham wrote:
I need help in logic of replacing the string in XML for the below input.
<content name="subject"> Hello [[BUYERS_NAME]]</content>
<content name="text"> REF Order [ORDER_NUMBER]</content>
< ORDER_NUMBER >
Output should be
<p> REF Order 1234</p>
Is there anyway I can do it in XSLT?
Any suggestion are welcome.