Subject: Re: [xsl] How to insert a set nodes under the root of an arbitrary XML using XSL? From: Graydon <graydon@xxxxxxxxx> Date: Fri, 7 Jan 2011 16:16:16 -0500 |
On Fri, Jan 07, 2011 at 04:07:43PM -0500, William C Thompson scripsit: > I would love to know how to (using XSL) insert a pre-determined node a > (with children b and c) as a child of the root node of an arbitrary XML. I > know how to apply the XSL once I've got it. I just need help with the XSL. > All the examples I'm finding online assume a pre-determined XML, which I > cannot in this case. [snip illustrative abstract example] > Most importantly, please note that any solutions with hard-coded references > to any node names (other than those I want to insert) are not usable for > me. I have no control over the schema of the XML into which I'm sticking > these other nodes. I know only that it's a valid XML file and the root has > at least one child. The above example is a purely made up example designed > to illustrate the question. You can do this with two templates, at least if I understand the question: <!-- Our old friend the identity transform --> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <!-- match the first element child of the root node --> <xsl:template match="/*[1]"> <element> Your fixed content goes here as literal result elements </element> <!-- but don't lose the former first element child of the root node --> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> -- Graydon
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] How to insert a set nodes und, William C Thompson | Thread | Re: [xsl] How to insert a set nodes, Graydon |
[xsl] How to insert a set nodes und, William C Thompson | Date | Re: [xsl] How to insert a set nodes, Graydon |
Month |