More complete XSLT for the CDs


    <xsl:template match="/">
      <xsl:for-each select="cdlist/cd">
        <H1><xsl:value-of select="artist" /></H1>
        <hr />
        <p class="01"><xsl:value-of select="title" /></p>
        <p class="02">Label:<xsl:value-of select="label" /> 
        Number:<xsl:value-of select="catalog" /> 
        Time:<xsl:value-of select="time"/></p>
        <p class="03">Stored at:<xsl:value-of select="filed"/></p>
        <p class="04">Playlist:</p>
        <ul>
          <xsl:for-each select="playlist/work">
            <li class="05"><xsl:value-of select="." /></li>
          </xsl:for-each>
        </ul>
      </xsl:for-each>
      <hr />
    </xsl:template>

This is referred to as a "pull" model: all patterns are pulled into the root template