![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >microsoft.public.xsl Archive Home >Recent entries >Thread Prev - Newbie question - adding another layer of depth to XML file >Thread Next - Re: Newbie question - adding another layer of depth to XML file Re: Newbie question - adding another layer of depth to XML fileTo: NULL Date: 3/3/2004 11:31:00 PM Your XML is invalid of course (try it in Marrowsoft Xselerator) but the following should help you (an identity transform with template override for the <root> node). This XML: <?xml version="1.0"?> <root> <SidebarText1>Some Text</SidebarText1> <SidebarMedia1>some media.jpg</SidebarMedia1> </root> with this XSLT: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" encoding="utf-16" /> <!-- Identity transform, passes nodes through untouched --> <xsl:template match="@*|node()|text()"> <xsl:copy> <xsl:apply-templates select="@*|node()|text()" /> </xsl:copy> </xsl:template> <!-- Match the root tag and add a new element with the children as children of the new node --> <xsl:template match="root"> <xsl:element name="{name(.)}"> <SideBar> <!-- Now add all children of the root node to this new node --> <xsl:copy-of select="./*"/> </SideBar> </xsl:element> </xsl:template> </xsl:stylesheet> Gives: <?xml version="1.0" encoding="utf-16"?> <root> <SideBar> <SidebarText1>Some Text</SidebarText1> <SidebarMedia1>some media.jpg</SidebarMedia1> </SideBar> </root> Chris. "Joe" <josephf@l...> wrote in message news:fad90cce.0403031055.5bc75d13@p...... Hi, I'm new to xsl, and I was wondering if someone knows how to change: <tag1> <tag2> <SidebarText1>Some Text</SidebarText1> <SidebarMedia1>some media.jpg</SidebarMedia1> ... (other tags starting with Sidebar) <tag3> <tag4> into <tag1> <tag2> <Sidebar> <SidebarText1>Some Text</SidebarText1> <SidebarMedia1>some media.jpg</SidebarMedia1> ... (other tags starting with Sidebar) </Sidebar> <tag3> <tag4> ie. Take all tags starting with Sidebar and moving them as children of a generic tag called Sidebar. Thanks, Joe Finnamore | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
