home *** CD-ROM | disk | FTP | other *** search
/ Encyclopaedia Britannica …oncise Encyclopedia 2007 / bcd_concise07.iso / data / jars / oec2-lib.jar / xsl / shared / Toc.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2006-08-25  |  2.5 KB  |  105 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <xsl:stylesheet
  4.     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  5.     xmlns:html="http://www.w3.org/TR/html4/loose.dtd"
  6.     exclude-result-prefixes="html"
  7.     version="1.0">
  8.  
  9.   <xsl:import href="ContentTags.xsl"/>
  10.   <xsl:import href="Variables.xsl"/>
  11.  
  12.   <xsl:output method="html" encoding="UTF-8"/>
  13.  
  14.   <xsl:template match="toc">
  15.     <table width="400">
  16.      <tr><td>
  17.     <xsl:apply-templates select="title"/>
  18.     <ul>
  19.       <xsl:apply-templates select="lv1"/>
  20.     </ul>
  21.     </td></tr>
  22.     </table>
  23.   </xsl:template>
  24.  
  25.   <!-- always prefer the uninverted titles over regular titles -->
  26.   <xsl:template match="title">
  27.     <font size="4">
  28.       <xsl:choose>
  29.         <xsl:when test="uninvrtitl">
  30.           <xsl:apply-templates select="uninvrtitl"/>
  31.         </xsl:when>
  32.         <xsl:otherwise>
  33.           <xsl:apply-templates select="titltxt"/> <xsl:apply-templates select="titlsub"/>
  34.         </xsl:otherwise>
  35.       </xsl:choose>
  36.     </font>
  37.   </xsl:template>
  38.  
  39.   <xsl:template match="titltxt">
  40.     <xsl:apply-templates/>
  41.   </xsl:template>
  42.  
  43.   <!-- template for h* nodes -->
  44.   <xsl:template name="listitem">
  45.       <a href="{$articleURL}-{@tocid}#{@tocid}.toc">
  46.         <xsl:choose>
  47.           <xsl:when test="@seqnbr = 0">Introduction</xsl:when>
  48.           <xsl:otherwise><xsl:apply-templates select="headtitle"/></xsl:otherwise>
  49.         </xsl:choose>
  50.       </a>
  51.   </xsl:template>
  52.  
  53.   <xsl:template match="lv1">
  54.     <li>
  55.       <xsl:call-template name="listitem"/>
  56.       <xsl:if test="lv2">
  57.         <ul><xsl:apply-templates select="lv2"/></ul>
  58.       </xsl:if>
  59.     </li>
  60.   </xsl:template>
  61.  
  62.   <xsl:template match="lv2">
  63.     <li>
  64.       <xsl:call-template name="listitem"/>
  65.       <xsl:if test="lv3">
  66.         <ul><xsl:apply-templates select="lv3"/></ul>
  67.       </xsl:if>
  68.     </li>
  69.   </xsl:template>
  70.  
  71.   <xsl:template match="lv3">
  72.     <li>
  73.       <xsl:call-template name="listitem"/>
  74.       <xsl:if test="lv4">
  75.         <ul><xsl:apply-templates select="lv4"/></ul>
  76.       </xsl:if>
  77.     </li>
  78.   </xsl:template>
  79.  
  80.   <xsl:template match="lv4">
  81.     <li>
  82.       <xsl:call-template name="listitem"/>
  83.       <xsl:if test="lv5">
  84.         <ul><xsl:apply-templates select="lv5"/></ul>
  85.       </xsl:if>
  86.     </li>
  87.   </xsl:template>
  88.  
  89.   <xsl:template match="lv5">
  90.     <li>
  91.       <xsl:call-template name="listitem"/>
  92.       <xsl:if test="lv6">
  93.         <ul><xsl:apply-templates select="lv6"/></ul>
  94.       </xsl:if>
  95.     </li>
  96.   </xsl:template>
  97.  
  98.   <xsl:template match="lv6">
  99.     <li>
  100.       <xsl:call-template name="listitem"/>
  101.     </li>
  102.   </xsl:template>
  103.  
  104. </xsl:stylesheet>
  105.