Subject: Re: [xsl] xml to xml mapping - how to combine two groups From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 8 Jan 2008 15:32:11 GMT |
<x> <LIST_GROUP_A> <GROUP_A> <COLOR>red</COLOR> </GROUP_A> </LIST_GROUP_A> <LIST_GROUP_B> <GROUP_B> <SHAPE>round</SHAPE> </GROUP_B> <GROUP_B> <SHAPE>square</SHAPE> </GROUP_B> </LIST_GROUP_B> </x> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="x"> <LIST_COMBINED> <xsl:variable name="a" select="LIST_GROUP_A/*"/> <xsl:variable name="b" select="LIST_GROUP_B/*"/> <xsl:for-each select="$a|$b[position()>count($a)]"> <xsl:variable name="p" select="position()"/> <COMBINED> <xsl:copy-of select="$a[$p]/*|$b[$p]/*"/> </COMBINED> </xsl:for-each> </LIST_COMBINED> </xsl:template> </xsl:stylesheet> $ saxon map.xml map.xsl <?xml version="1.0" encoding="utf-8"?> <LIST_COMBINED> <COMBINED> <COLOR>red</COLOR> <SHAPE>round</SHAPE> </COMBINED> <COMBINED> <SHAPE>square</SHAPE> </COMBINED> </LIST_COMBINED>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xml to xml mapping - how , Andrew Welch | Thread | [xsl] saxon:try(), Jesper Tverskov |
Re: [xsl] xml to xml mapping - how , Andrew Welch | Date | [xsl] Sorting and Grouping Alphabet, Trish |
Month |