xsl-list
[Top] [All Lists]

Re: [xsl] Re-arranging an XML file

2009-01-13 08:47:10


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. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>