The xsl:copy-of instruction does an exact copy. It's not capable of
doing a modified copy. To do a modified copy, use xsl:apply-templates in
conjunction with
(a) a default template that does a shallow copy ("the identity template")
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
(b) a specific template for the nodes you want to change
<xsl:template match="replace">
....
</xsl:template>
Michael Kay
Saxonica
On 05/01/2011 09:22, Mark Anderson wrote:
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
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--