[xsl] replacing nodes during xsl:copy-of

Subject: [xsl] replacing nodes during xsl:copy-of
From: Mark Anderson <mark.anderson@xxxxxxxxxxxxxxxxx>
Date: Wed, 5 Jan 2011 09:22:08 +0000
Hi All

Stuck on a problem trying to copy a nodeset and replace one specific node.

I have something like this in my XML

<clause name="Expenses">
                    <text>the reasonable expenses incurred by the Company and
approved by the Customer in providing the Services described herein, including
but not limited to travel expenses between the Company's <replace
id="local_office">Leeds (UK)</replace>offices and the Customer's
offices</text>
</clause>

There may be multiple text elements in a clause and a text element may contain
HTML markup.

I am using <xsl:copy-of select="text/node()"/> to copy the contents of the
text node(s), but I want to swap out the contents of the <replace> element
(i.e. 'Leeds (UK)') based on some logic.

For example, if the contract is for the US office it should result in

the reasonable expenses incurred by the Company and approved by the Customer
in providing the Services described herein, including but not limited to
travel expenses between the Company's Chicago offices and the Customer's
offices

if the contract is for the French office it should result in

the reasonable expenses incurred by the Company and approved by the Customer
in providing the Services described herein, including but not limited to
travel expenses between the Company's Paris offices and the Customer's
offices

Anyone got any suggestions?

TIA

Mark

Current Thread