|
Subject: Re: [xsl] Re-arranging an XML file From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Tue, 13 Jan 2009 11:17:35 -0500 |
<?xml version="1.0" encoding="UTF-8"?>
<Catalog>
<cds>
<cd>
<number>000001</number>
<title>Empire Burlesque</title>
</cd>
<cd>
<number>000002</number>
<title>Hide Your Heart</title>
</cd>
</cds>
<artists>
<artist>
<number>000001</number>
<name>Bob Dylan</name>
</artist>
<artist>
<number>000002</number>
<name>Bonnie Tyler</name>
</artist>
</artists>
</Catalog>
<xsl:template match="Catalog"> <xsl:copy> <xsl:for-each-group select="cds/cd | artists/artist" group-by="number"> <cd> <xsl:apply-templates select="current-group()/(title, name)"/> </cd> </xsl:for-each-group> </xsl:copy> </xsl:template>
<xsl:template match="title"> <xsl:copy-of select="."/> </xsl:template>
<xsl:template match="artist/name">
<artist>
<xsl:apply-templates/>
</artist>
</xsl:template>Cheers, Wendell
Is there an easy way for an XSL rookie to transform it to look more like this?
<?xml version="1.0" encoding="UTF-8"?> <Catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> </cd> <cd> <title>Hide Your Heart</title> <artist>Bonnie Tyler></artist> </cd> </Catalog>
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Re-arranging an XML file, David Carlisle | Thread | Re: [xsl] Re-arranging an XML file, Mike Stroud |
| Re: [xsl] conditional replacement, Mukul Gandhi | Date | [xsl] Finding an untagged ordered l, Graeme Kidd |
| Month |