[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Newbie help needed BAD!!!
Matt, > Hi everyone. Man I need help bad...I want to write an xsl that will > basically copy an xml tree, but allow me to chnage the values of certain > nodes. For example: > > <highlevel>Highest Level > <innernode>This is an innernode > <lownode>This is a low-level node</lownode> > </innernode> > </highlevel> > > I want to copy this, but change the text of <innernode>, such as > > <highlevel>Highest Level > <innernode>I have edited this text > <lownode>This is a low-level node</lownode> > </innernode> > </highlevel> > > This seems so trivial, but...I tried : > > <xsl:template match="/"> > <xsl:copy-of select="."/> > </xsl:template> > <xsl:template match="innernode"> > <innernode> > I have edited this node > </innernode> > </xsl:template> > but it never applies the innernode template You shouldn't use xsl:copy-of. This makes a deep copy without processing the inner elements. Use xsl:copy and xsl:apply-templates - see the identity transformation in the XSLT spec http://www.w3.org/TR/xslt#copying <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> Now you can add special templates for special element nodes, such as innernode. But note: to process lownode you should call xsl:apply-templates as well. So your template becomes <xsl:template match="innernode"> <innernode> I have edited this node <xsl:apply-templates select="*" /> <!-- only elements, no text nodes --> </innernode> </xsl:template> I haven't tested it, but it should work. Cheers, Oliver /-------------------------------------------------------------------\ | ob|do Dipl.Inf. Oliver Becker | | --+-- E-Mail: obecker@xxxxxxxxxxxxxxxxxxxxxxx | | op|qo WWW: http://www.informatik.hu-berlin.de/~obecker | \-------------------------------------------------------------------/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|