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
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Y SKSubject: copy all elements and hardcode some.
Author: Y SK
Date: 03 Jan 2009 01:43 AM
Hi,

i have the following xml. I am trying to create a xslt that will copy all nodes except the few that i need to hard code some values in.
in sample xml below, i would like to set value of node3 to MY OWN VALUE while copying the rest as is.

xml i have:
<?xml version = "1.0" encoding = "UTF-8"?> <Maino> <node1><node3>aaaa</node3></node1> <node2>qq</node2> </Maino>

the XML i want:
<?xml version = "1.0" encoding = "UTF-8"?> <Maino> <node1><node3>MY OWN VALUE</node3></node1> <node2>qq</node2> </Maino>

I am totally new to XSLT so pardon my stupidness.. after hours of googling all I could get working is copying of all the elements. I cant seem to match the node and hard code the elements that i want.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="PATH" select="Maino/node1/node3" />
<xsl:template match="/">
<xsl:for-each select="*">
<xsl:choose>
<xsl:when test="local-name() = $PATH">
--set hard coded value for this node
</xsl:when>
<xsl:otherwise>

<xsl:copy-of select="current()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


Thanks,



Posttop
Alberto MassariSubject: copy all elements and hardcode some.
Author: Alberto Massari
Date: 05 Jan 2009 08:20 AM
Hi,
your code will simply test the root element and copy it over, including its children. You should instead use apply-templates to implement an identity transformation (see http://www.w3.org/TR/xslt#copying), with a special template matching the node you want to replace, filled with your static content.

Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
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.