Subject: Re: [xsl] Moving (promoting) XML elements through XSL From: "Mark Peters" <flickrmeister@xxxxxxxxx> Date: Thu, 29 Jun 2006 17:24:04 -0400 |
Thanks for your input, David! I think I made your suggested changes correctly, but my output hasn't changed. The indexterm element still doesn't appear in my output XML doc.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output indent="yes"/> <xsl:template match="/topic"> <xsl:copy> <prolog> <metadata> <keywords> <xsl:copy-of select="title/indexterm"/> </keywords> </metadata> </prolog> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="indexterm"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
Regards, Mark
you have two templates matching <xsl:template match="@*|node()"> <xsl:template match="@*|node()"> which is an errror (even though they are the same template) a system may ignore the first or it may stop and reject the stylesheet.
<xsl:copy-of select="/title/indexterm"/> This copies nothing, you meant <xsl:copy-of select="title/indexterm"/> ie the indexterm grandchild of the current node (topic). /title would select the title child element of teh root but there is no such element, the element of / is topic.
> (I haven't figured gotten as far as wrapping > the indexterm elements yet):
that's easy <keywords> <xsl:copy-of select="title/indexterm"/> </keywords>
David
Mark Peters Senior Technical Writer Saba Software
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Moving (promoting) XML el, David Carlisle | Thread | Re: [xsl] Moving (promoting) XML el, David Carlisle |
RE: [xsl] mass validation of xml fi, Marijan Madunic | Date | Re: [xsl] Moving (promoting) XML el, David Carlisle |
Month |