XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + XSLT How to include the '<' sy... (2)
-> - HELP: Functional XSLT Implemen... (1)
-> - Cannot find a matching 1-argum... (1)
-> + XSLT a:? (2)
-> + Attribute Value Concatenation (2)
-> - Why is the WYSIWYG xslt editor... (1)
-> + WebService Call Error: Ref ele... (4)
-> + How to replace value of a fiel... (2)
-> + Schema Validation Problems (3)
-> + Reusing a prior valid value in... (5)
-> + Clutching at straws! (2)
-> + Adding a number to a for each ... (2)
-> + Transform Name Value pairs int... (4)
-> + Transform the XML Scheme with ... (2)
-> + create XML drop down lists (2)
-> + error during stylesheet tutori... (3)
-> - Modify the value in a element ... (2)
-> ->Modify the value in a ele...
-> + Call to extension function fai... (2)
-> + Convert XML Schema to XML - Mi... (2)
-> + How to calculate maximun RowCo... (3)
-- Previous [661-680] [681-700] [701-720] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Susmitha JSSubject: Modify the value in a element in XML
Author: Susmitha JS
Date: 19 Feb 2008 04:56 PM
Originally Posted: 19 Feb 2008 04:53 PM
Hi,

How can I update the value of a particular element of the XML?

Input XML:
<a>
<b>111</b>
<c>
<d>
<e>
<f>
<g>666</g>
</f>
</e>
</d>
</c>
</a>

Output XML:
<a>
<b>111</b>
<c>
<d>
<e>
<f>
<g>2344555</g>
</f>
</e>
</d>
</c>
</a>
I need to update the value of <g> from 666 to 2344555 using XSL. I'm using XSLT 1.0.

Any suggestions please?

Thanks,
Susmitha

Posttop
James DurningSubject: Modify the value in a element in XML
Author: James Durning
Date: 20 Feb 2008 10:29 AM
Are you modifying it because the value is 666, or because it's the g element?

Start with a copy template:
<xsl:template match="*">
<xsl:copy-of select="@*">
<xsl:apply-templates/>
</xsl:template>

Depending on your condition it would be like so:
<xsl:template match="*[.=666]">
<xsl:copy>2344555</xsl:copy>
</xsl:template>

or like:
<xsl:template match="g">

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.