Subject: Re: [xsl] Re-arranging an XML file From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 13 Jan 2009 13:46:46 GMT |
Thanks for posting a clear example, that always helps. In future it also helps to say if you want xslt 2 or xslt 1, in this case it wouldn't make much difference, but in other cases it can make a lot.... Basically you want to set up a key to handle the association of artists and titles. David <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="Catalog"> <Catalog> <xsl:apply-templates select="cds/cd"/> </Catalog> </xsl:template> <xsl:template match="cd"> <cd> <xsl:copy-of select="title"/> <artist><xsl:value-of select="key('artist',number)/name"/></artist> </cd> </xsl:template> <xsl:key name="artist" match="artist" use="number"/> </xsl:stylesheet> produces $ saxon cata.xml cata.xsl <?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> ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re-arranging an XML file, Martin Honnen | Thread | Re: [xsl] Re-arranging an XML file, Wendell Piez |
Re: [xsl] Re-arranging an XML file, Martin Honnen | Date | Re: [xsl] conditional replacement, Mukul Gandhi |
Month |