Arranging Compositions by Composer

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">
    <html>
       <xsl:apply-templates select="catalog"/>    
    </html>
  </xsl:template>

  <xsl:template match="catalog">
      <head><title><xsl:value-of select="category"/></title></head>
      <body>
        <h1><xsl:value-of select="category"/></h1> 
        <xsl:apply-templates select="composer"/> 

      </body>
  </xsl:template>

  <xsl:template match="composer">
    <h2 id="{@id}"><xsl:value-of select="."/></h2>
    <dl>
      <xsl:apply-templates select="../composition[@composer=current()/@id]"/> 
    </dl>
  </xsl:template>

  <xsl:template match="composition">
    <dt><cite><xsl:value-of select="title"/></cite> 
        (<xsl:value-of select="date"/>)
        <xsl:value-of select="length"/>
        <xsl:value-of select="instruments"/>
    </dt>
    <dd>
      <xsl:value-of select="description"/>
      <xsl:value-of select="publisher"/>
    </dd>
  </xsl:template>

</xsl:stylesheet>

Previous | Next | Top | Cafe con Leche

Copyright 2000 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified September 19, 2000