xsl-list
[Top] [All Lists]

RE: XML merge

2003-05-14 02:16:04
Hi,

So I have an XML, which contains many same nodes:
<TABLE_NAME>ConnectionTemp</TABLE_NAME>, and each of them have a
<COLUMN_NAME>, which are different.

I'd like make a new XML file from this above, which contains the
TABLE_NAME node only one for every value of this, and the 
children of this
are the COLUMN_NAME nodes. Like this:

Your's is a grouping problem--see Jeni's pages 
<http://jenitennison.com/xslt/grouping>.

  <xsl:key name="name" match="Table" use="TABLE_NAME" />  
  <xsl:template match="Tables">    
    <xsl:copy>      
      <xsl:for-each select="Table[generate-id(.) = generate-id(key('name', 
TABLE_NAME))]">        
        <Table name="{TABLE_NAME}">          
          <xsl:for-each select="key('name', TABLE_NAME)">            
            <Column name="{COLUMN_NAME}"/>          
          </xsl:for-each>        
        </Table>      
      </xsl:for-each>    
    </xsl:copy>  
  </xsl:template>

Cheers,

Jarno - Covenant: Speed (Live)

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list