Subject: [xsl] Omitting node within For-Each in Merge From: JCS <subscriber@xxxxxxxxxxxxx> Date: Mon, 08 Dec 2003 14:59:56 +1300 |
Hi everyone, The answer to this problem may be as simple as finding my sunglasses perched on my head, but I'm having trouble dealing with a simple concept. I've looked in the archives and around the net but have come up blank. I'm merging two documents and matching a common element with a variable. But how do I exclude or omit redundant data? My XML document A: <level> <level>10</level> <data>foo</data> <more_data>bar<more_data> </level> My XML document B: <row> <level>10</level> <foo_data>foodata</foo_data> <bar_data>bar_data</bar_data> </row> Output desired: <merge> <level>10</level> <data>foo</data> <more_data>bar<more_data> <foo_data>foodata</foo_data> <bar_data>bar_data</bar_data>level>10> </merge> My current XSL: <xsl:variable name="merge" select="document('merge.xml')"/> <xsl:template match="/"> <merge> <xsl:for-each select="//level/level"> <xsl:variable name="level"> <xsl:value-of select="text()"/> </xsl:variable> <xsl:copy-of select="../child::*"/> <xsl:copy-of select="$merge//row[Level=$level]/*"/> </xsl:for-each> </merge> Because I'm asking it to select all the children of <row> I get the <level> element output again, I want to omit this. Is there a special way to filter/omit nodes without suppressing the output with templates? i.e. Specify to select all children nodes EXCEPT <level>? This is where I get stuck for some reason. TiA, /johnny :) -- "If you're going through hell, keep going." Winston Churchill XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: Re: Re: How to Calculate , Dimitre Novatchev | Thread | [xsl] Re: Omitting node within For-, Dimitre Novatchev |
Re: [xsl] Saxon and XT both exhibit, David Carlisle | Date | [xsl] Too slow to process XML file , Jack Yang |
Month |