home *** CD-ROM | disk | FTP | other *** search
/ Organic Chemistry (8th Edition) / Image.iso / pc / organic / media / content / xmlbody.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2003-05-11  |  41.8 KB  |  1,271 lines

  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink">
  3.  
  4. <!-- Edugen XSL Stylesheets V1.0 =======================================
  5.  
  6.      File xmlbody.xsl for Kieso
  7.  
  8.      This file is part of the Edugen XSL Stylesheets.
  9.      Copyright (c) 2002 WWL Corp. - A Subsidiary of John Wiley & Sons, Inc.
  10. ========================================================================= -->
  11.  
  12. <xsl:output method="html" indent="no"/>
  13.  
  14. <!-- version -->
  15. <xsl:param name="version">1.0</xsl:param>
  16. <!-- dynamic param -->
  17. <xsl:param name="selector" select="/*"/>
  18. <!-- component -->
  19. <xsl:param name="component">content</xsl:param>
  20.  
  21. <xsl:variable name="edugenGlobalPath"><?11?>?sid=global&msg=300&file=</xsl:variable>
  22. <xsl:variable name="edugenHttpPath"><?11?>?sid=<?1003?>&msg=300&file=</xsl:variable>
  23. <xsl:variable name="edugenFilePath"><?301?></xsl:variable>
  24. <xsl:variable name="courseHttpPath"><?11?>?sid=<?1003?>&msg=3&course=<?1008?>&file=</xsl:variable>
  25. <xsl:variable name="courseFilePath"><?303?></xsl:variable>
  26. <xsl:variable name="courseStyle"><?1007?></xsl:variable>
  27. <xsl:variable name="courseFont"><?1006?></xsl:variable>
  28.  
  29. <xsl:variable name="file"><xsl:value-of select="/*/@id"/>.xml</xsl:variable>
  30. <xsl:variable name="filebase"><xsl:value-of select="/*/@xml:base"/></xsl:variable>
  31. <xsl:variable name="type"><xsl:value-of select="/page/@type"/></xsl:variable>
  32.  
  33.  
  34. <xsl:attribute-set name="body_attributes">
  35.     <xsl:attribute name="bgcolor">#ffffff</xsl:attribute>
  36.     <xsl:attribute name="text">#000000</xsl:attribute>
  37.     <xsl:attribute name="leftmargin">1</xsl:attribute>
  38.     <xsl:attribute name="topmargin">4</xsl:attribute>
  39.     <xsl:attribute name="marginwidth">1</xsl:attribute>
  40.     <xsl:attribute name="marginheight">4</xsl:attribute>
  41.     <xsl:attribute name="class">text</xsl:attribute>
  42.     <xsl:attribute name="onresize">javascript:if(navigator.appName.indexOf('Netscape')!=-1)self.location.reload();</xsl:attribute>
  43.     <xsl:attribute name="onload">javascript:doOnload();</xsl:attribute>
  44.     <xsl:attribute name="onunload">javascript:doOnunload();</xsl:attribute>
  45.     
  46.  
  47. </xsl:attribute-set>
  48.  
  49.  
  50. <!-- ============= root =============================== -->
  51. <xsl:template match="/">
  52. <html>
  53. <xsl:comment>
  54. Copyright (c) 2002 WWL Corp. - A Subsidiary of John Wiley & Sons, Inc.
  55. Thank you for examining our code
  56. </xsl:comment>
  57. <head>
  58.  
  59. <title>
  60. <xsl:choose>
  61.     <xsl:when test="$selector/title"><xsl:value-of select="$selector/title"/></xsl:when>
  62.     <xsl:otherwise>
  63. <xsl:choose>
  64.     <xsl:when test="name($selector)='overlay'">
  65.         <xsl:variable name="overlay_id">#<xsl:value-of select="$selector/@id"/></xsl:variable>
  66.         <xsl:value-of select="//a[@xlink:href=$overlay_id]"/>
  67.     </xsl:when>
  68.     <xsl:otherwise>Page</xsl:otherwise>
  69. </xsl:choose>
  70.     </xsl:otherwise>
  71. </xsl:choose>
  72. </title>
  73.  
  74. <meta name="generator" content="Edugen XSL Stylesheets V{$version}"/>
  75. <link rel="STYLESHEET" type="text/css" href="{$courseHttpPath}media/{$component}/css/style{$courseStyle}.css"/>
  76. <link rel="STYLESHEET" type="text/css" href="{$courseHttpPath}media/{$component}/css/font{$courseFont}.css"/>
  77.  
  78. <script type="text/javascript" language="JavaScript" src="{$edugenHttpPath}media/js/button.js"></script>
  79. <script type="text/javascript" language="JavaScript" src="{$edugenHttpPath}media/js/misc.js"></script>
  80. <script type="text/javascript" language="JavaScript" src="{$edugenHttpPath}media/js/windows.js"></script>
  81. <script type="text/javascript" language="JavaScript" src="{$edugenHttpPath}media/js/overlay.js"></script>
  82.  
  83. <script type="text/javascript" language="JavaScript"><![CDATA[
  84.  
  85. function window_close()
  86. {
  87.     top.bridge.location.replace(getPrefix() + "<?11?>?sid=<?1003?>&msg=4&course=<?1008?>" +
  88.             "&xml=/cmd/command.xml&xsl=/cmd/command.xsl" +
  89.             "&name=selector&select=commands/command[@id%3D'manager']");
  90. }
  91.  
  92. function openRasmolFiles(in_file)
  93. {
  94.     //alert('top.frames.bridge.location.replace("<?11?>?sid=<?1003?>&msg=9610&file=media/content/"' + in_file);
  95.     top.frames.bridge.location.replace("<?11?>?sid=<?1003?>&msg=9610&file=media/content/" + in_file);
  96. }
  97.  
  98. function openIrTutorFiles()
  99. {
  100.  
  101.     top.frames.bridge.location.replace("<?11?>?sid=<?1003?>&msg=9611");
  102. }
  103.  
  104. function doOnload()
  105. {
  106.     if (top.frames.bridge)
  107.     {
  108.         top.bridge.location.replace(getPrefix() + "<?11?>?sid=<?1003?>&msg=4&course=<?1008?>" +
  109.             "&xml=/cmd/command.xml&xsl=/cmd/command.xsl" +
  110.             "&name=selector&select=commands/command[@id%3D'update']");
  111.     }
  112.     else if (top.frames.loading)
  113.     {
  114.  
  115.         top.frames.loading.location.replace(getPrefix() + "<?11?>?sid=<?1003?>&msg=4&course=<?1008?>" +
  116.             "&xml=/cmd/command.xml&xsl=/cmd/command.xsl" +
  117.             "&name=selector&select=commands/command[@id%3D'shows_update']");
  118.     }
  119.     self.focus();
  120. }
  121.  
  122. function doOnunload()
  123. {
  124.     closeWindows();
  125. }
  126.  
  127. function getParamsString(in_width, in_height, in_xOffset, in_yOffset)
  128. {
  129.     return "width=" + in_width + ",height=" + in_height + ",left=" + ((screen.width-16-in_width)/2 + in_xOffset) + ",top=" + ((screen.height-60-in_height)/2 + in_yOffset);
  130. }
  131. function getPrefix()
  132. {
  133.     var str = self.location.href;
  134.     return str.substring(0,str.lastIndexOf("<?11?>"));
  135. }
  136. function getTargetFrame()
  137. {
  138.     if (top.frames.frameset1)
  139.     {
  140.         return top.frames.frameset1;
  141.     }
  142.     else if (top.frames.frameset)
  143.     {
  144.         if (top.frames.frameset.frames.xmlarea)
  145.         {
  146.             return top.frames.frameset.frames.xmlarea;
  147.         }
  148.         else
  149.         {
  150.             return top.frames.frameset;
  151.         }
  152.     }
  153.     else
  154.     {
  155.         return self;
  156.     }
  157. }
  158. function locationReplace(in_url)
  159. {
  160.     getTargetFrame().location.replace(in_url);
  161. }
  162.  
  163. function gotoPage(in_base,in_file,in_href,in_role)
  164. {
  165. ]]><xsl:choose>
  166.     <xsl:when test="contains(name($selector),'overlay')"><![CDATA[
  167.  
  168.     opener.gotoPage(in_base,in_file,in_href,in_role);
  169.  
  170.     ]]></xsl:when>
  171.     <xsl:otherwise><![CDATA[
  172.  
  173.     if (in_href.charAt(0)=="#")
  174.     {
  175.         document.location.replace(in_href);
  176.     }
  177.     else
  178.     {
  179.         var cur_href = in_href.replace(/ /,"%20");
  180.  
  181.         if (in_href.indexOf("#")!=-1)
  182.         {
  183.             cur_href = cur_href.substring(0,cur_href.indexOf("#"));
  184.         }
  185.  
  186.         locationReplace(getPrefix() +
  187.                         "<?11?>?sid=<?1003?>&msg=4" +
  188.                         "&xml=/media/content/book.xml" +
  189.                         "&xsl=/media/content/links.xsl" +
  190.                         "&name=selector" +
  191.                         "&select=//*[Q%3D'" + cur_href + "']");
  192.     }
  193.  
  194.     ]]></xsl:otherwise>
  195. </xsl:choose><![CDATA[
  196. }
  197.  
  198. function gotoPath(in_path)
  199. {
  200. ]]><xsl:choose>
  201.     <xsl:when test="contains(name($selector),'overlay')"><![CDATA[
  202.  
  203.     opener.gotoPath(in_path);
  204.  
  205.     ]]></xsl:when>
  206.     <xsl:otherwise><![CDATA[
  207.  
  208.     locationReplace(getPrefix() + "<?11?>?sid=<?1003?>&msg=7009&sync=1&path=" + in_path);
  209.  
  210.     ]]></xsl:otherwise>
  211. </xsl:choose><![CDATA[
  212. }
  213.  
  214. function goBack()
  215. {
  216.     locationReplace(getPrefix() + "<?11?>?sid=<?1003?>&msg=13003");
  217. }
  218.  
  219. function winOpen(in_base,in_file,in_href,in_role)
  220. {
  221.     var cur_href,cur_id,cur_xsl,cur_url;
  222.  
  223.     var win_param = getParamsString(((arguments[4])?arguments[4]:650), ((arguments[5])?arguments[5]:450), 0, 0) +
  224. ",resizable=yes,copyhistory=no,directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no";
  225.  
  226.     if (in_href.charAt(0)=="#")
  227.     {
  228.         cur_href = in_base + in_file;
  229.         cur_id = in_href.substring(in_href.lastIndexOf("#")+1,in_href.length);
  230.         cur_url = "<?11?>?sid=<?1003?>&msg=4" +
  231.                   "&xml=/" + cur_href +
  232.                   "&xsl=/media/content/xmlbody.xsl" +
  233.                   "&name=selector" +
  234.                   "&select=//*[@id%3D'" + cur_id + "']";
  235.     }
  236.     else
  237.     {
  238.         if (in_href.indexOf(".xml")!=-1)
  239.         {
  240.             cur_href = in_base +  in_href.substring ( in_href.lastIndexOf("/") + 1, in_href.indexOf(".xml") + 4 );
  241.             cur_url = "<?11?>?sid=<?1003?>&msg=4" +
  242.                     "&xml=/" + cur_href +
  243.                     "&xsl=/media/content/xmlbody.xsl";
  244.             if (in_href.indexOf("#")!=-1)
  245.             {
  246.                 cur_id = in_href.substring ( in_href.indexOf("#") + 1, in_href.length );
  247.                 cur_url = cur_url + "&name=selector" +
  248.                         "&select=//*[@id%3D'" + cur_id + "']";
  249.             }
  250.         }
  251.         else if (in_href.indexOf(".htm")!=-1)
  252.         {
  253.             if (in_href.indexOf(".html")!=-1)
  254.             {
  255.                 //cur_href = in_base +  in_href.substring ( in_href.lastIndexOf("/") + 1, in_href.indexOf(".html") + 5 );
  256.  
  257.                 cur_href = in_base +  in_href;
  258.             }
  259.             else
  260.             {
  261.                 cur_href = in_base +  in_href.substring ( in_href.lastIndexOf("/") + 1, in_href.indexOf(".htm") + 4 );
  262.             }
  263.  
  264.             cur_url = "<?11?>?sid=<?1003?>&msg=3" +
  265.                       "&file=/" + cur_href;
  266.             if (in_href.indexOf("#")!=-1)
  267.             {
  268.                 cur_id = in_href.substring ( in_href.indexOf("#") + 1, in_href.length );
  269.                 cur_url = cur_url + "#" + cur_id;
  270.             }
  271.         }
  272.         else
  273.         {
  274.             cur_url = "<?11?>?sid=<?1003?>&msg=3" + "&file=/" + in_base + in_href;
  275.         }
  276.     }
  277.  
  278.     createWindow(getPrefix()+cur_url,in_role,win_param);
  279. }
  280.  
  281. function glossaryWinOpen(in_base,in_file,in_href,in_role)
  282. {
  283. ]]><xsl:choose>
  284.     <xsl:when test="contains(name($selector),'overlay')"><![CDATA[
  285.  
  286.     opener.glossaryWinOpen(in_base,in_file,in_href,in_role);
  287.  
  288.     ]]></xsl:when>
  289.     <xsl:otherwise><![CDATA[
  290.  
  291.     var cur_id = in_href.substring(in_href.lastIndexOf("#")+1,in_href.length);
  292.     if (top.frames.bridge)
  293.     {
  294.         top.frames.bridge.location.replace(getPrefix() + "<?11?>?sid=<?1003?>&msg=8015&id=" + cur_id +
  295.             "&xml=/cmd/command.xml&xsl=/cmd/command.xsl" +
  296.             "&name=selector&select=commands/command[@id%3D'glossary']");
  297.     }
  298.     else
  299.     {
  300.         alert("Glossary links do not work in Show mode. Please use the main mode of the program to access links to the Glossary.");
  301.     }
  302.  
  303.     ]]></xsl:otherwise>
  304. </xsl:choose><![CDATA[
  305. }
  306.  
  307. ]]><xsl:if test="contains(name($selector),'overlay')"><![CDATA[
  308. var closebutImage = new imageObject("closebut","<?11?>?sid=<?1003?>&msg=300&file=media/graphics/buttons/close/");
  309. function closebutPress()
  310. {
  311.     window.close();
  312. }
  313. ]]></xsl:if><![CDATA[
  314.  
  315.  
  316. function gotoDrcPage(in_string)
  317. {
  318.     //alert(in_string);
  319.     //alert("<?11?>?sid=<?1003?>&msg=7000&pageid=" + in_string);
  320.       //parent.location.replace("edugen?sid=demo&msg=7000&pageid=" + in_string);
  321.         locationReplace(getPrefix() + "edugen?sid=demo&msg=7000&pageid=" + in_string);
  322.  
  323. }
  324.  
  325. </script>
  326.  
  327.  
  328. ]]>
  329. <xsl:apply-templates select="$selector/javascript" mode="javascript"/>
  330. </script>
  331.  
  332.  
  333.  
  334. </head>
  335.  
  336. <body xsl:use-attribute-sets="body_attributes">
  337.  
  338. <xsl:apply-templates select="$selector"/>
  339.  
  340. </body>
  341. </html>
  342. </xsl:template>
  343. <!-- ====== end of root =============================== -->
  344.  
  345.  
  346.  
  347. <!-- ============= page =============================== -->
  348.  
  349.     <!-- START page -->
  350. <xsl:template match="page">
  351.     <table border="0" cellpadding="0" cellspacing="0" width="100%">
  352.         <tr>
  353.             <td width="18"><img src="{$courseFilePath}media/content/graphics/pixel.gif" width="18" height="1" border="0"/></td>
  354.             <td>
  355.  
  356. <!--  -->
  357.  
  358.             <table border="0" cellpadding="0" cellspacing="0">
  359.                 <tr>
  360.                     <td align="left"><xsl:apply-templates select="content"/></td>
  361.                 </tr>
  362.             </table>
  363.  
  364. <!--  -->
  365.  
  366.             </td>
  367.             <td width="12"><img src="{$courseFilePath}media/content/graphics/pixel.gif" width="12" height="1" border="0"/></td>
  368.         </tr>
  369.     </table>
  370. </xsl:template>
  371.     <!-- END page -->
  372.  
  373.  
  374. <xsl:template match="content">
  375. <xsl:apply-templates />
  376. </xsl:template>
  377.  
  378.  
  379.     <!-- START head-->
  380. <xsl:template match="page/head">
  381. <xsl:choose>
  382.     <xsl:when test="$type='folder'">
  383.         <xsl:apply-templates/>
  384.     </xsl:when>
  385.     <xsl:otherwise>
  386.  
  387.     </xsl:otherwise>
  388. </xsl:choose>
  389. </xsl:template>
  390.     <!-- END head-->
  391.     <!-- Look at xmlhead.xsl -->
  392.  
  393.  
  394.     <!-- START page/title -->
  395. <xsl:template match="page/title">
  396. <table border="0" cellpadding="4" cellspacing="0" width="100%" bgcolor="#CEDEEF">
  397. <tr>
  398.     <td align="left"><span class="pageTitle"><xsl:apply-templates/></span></td>
  399. </tr>
  400. </table>
  401. </xsl:template>
  402.     <!-- END page/title -->
  403.  
  404. <!-- ====== end of page =============================== -->
  405.  
  406.  
  407. <!-- ============= section =============================== -->
  408.  
  409.     <!-- START section -->
  410. <xsl:template match="section">
  411. <xsl:call-template name="anchorname"/>
  412. <xsl:apply-templates/>
  413. </xsl:template>
  414.     <!-- END section -->
  415.  
  416.     <!-- START section/title -->
  417. <xsl:template match="section/title">
  418. <p class="sectionTitle"><xsl:apply-templates/></p>
  419. </xsl:template>
  420.     <!-- END page/section/title -->
  421.  
  422. <!-- ====== end of section =============================== -->
  423.  
  424.  
  425. <!-- ============= block formatting =============================== -->
  426. <xsl:template match="para">
  427. <p>
  428. <xsl:if test="@align"><xsl:copy-of select="@align"/></xsl:if>
  429. <xsl:attribute name="class">
  430.     <xsl:choose>
  431.         <xsl:when test="@class"><xsl:value-of select="@class"/></xsl:when>
  432.         <xsl:otherwise>text</xsl:otherwise>
  433.     </xsl:choose>
  434. </xsl:attribute>
  435. <xsl:if test="@indent"><img src="{$courseFilePath}media/content/graphics/pixel.gif" width="32" height="1" border="0" align="absmiddle"/></xsl:if>
  436. <xsl:call-template name="anchorname"/>
  437. <xsl:choose>
  438.     <xsl:when test="@style"><span style="{@style}"><xsl:apply-templates/></span></xsl:when>
  439.     <xsl:otherwise><xsl:apply-templates/></xsl:otherwise>
  440. </xsl:choose>
  441. </p>
  442. </xsl:template>
  443.  
  444.  
  445. <xsl:template match="olist">
  446. <xsl:choose>
  447.     <xsl:when test="@list-style-type">
  448.     <ol class="{@list-style-type}">
  449.         <xsl:for-each select="listitem">
  450.         <li><xsl:apply-templates/></li>
  451.         </xsl:for-each>
  452.     </ol>
  453.     </xsl:when>
  454.     <xsl:otherwise>
  455.     <ol class="text">
  456.         <xsl:for-each select="listitem">
  457.         <li><xsl:apply-templates/></li>
  458.         </xsl:for-each>
  459.     </ol>
  460.     </xsl:otherwise>
  461. </xsl:choose>
  462. </xsl:template>
  463.  
  464.  
  465. <xsl:template match="ulist">
  466. <xsl:choose>
  467.     <xsl:when test="@role='browse'">
  468. <table border="0" cellpadding="0" cellspacing="0" bgcolor="#E9E7DA" width="95%" align="center">
  469. <tr>
  470.     <td>
  471.     <table border="0" cellpadding="4" cellspacing="0" align="center">
  472.             <xsl:for-each select="listitem">
  473.             <tr>
  474.                 <td valign="middle"><img src="{$courseFilePath}media/content/graphics/common/bullet.gif" border="0"/></td>
  475.                 <td valign="top"><xsl:apply-templates/></td>
  476.             </tr>
  477.             </xsl:for-each>
  478.         </table>
  479.     </td>
  480. </tr>
  481. </table>
  482.     </xsl:when>
  483.     <xsl:otherwise>
  484.         <table border="0" cellpadding="2" cellspacing="0">
  485.             <xsl:for-each select="listitem">
  486.             <tr>
  487.                 <td valign="top"><img src="{$courseFilePath}media/content/graphics/common/listitem.gif" border="0"/></td>
  488.                 <td valign="top"><span class="text"><xsl:apply-templates/></span></td>
  489.             </tr>
  490.             </xsl:for-each>
  491.         </table>
  492.     </xsl:otherwise>
  493. </xsl:choose>
  494. </xsl:template>
  495.  
  496.  
  497.  
  498. <xsl:template match="illustration">
  499. <table border="0" cellpadding="0" cellspacing="0">
  500. <tr>
  501.     <td>
  502.         <table border="0" cellpadding="2" cellspacing="0">
  503.             <tr valign="top">
  504.                 <td bgcolor="#FFDEBD"><span class="illustrationTitle">Illustration <xsl:value-of select="@num"/>:</span></td>
  505.                 <td><xsl:apply-templates select="title"/></td>
  506.             </tr>
  507.         </table>
  508.     </td>
  509. </tr>
  510. <tr>
  511.     <td><img src="{$edugenFilePath}media/graphics/pixel.gif" width="1" height="4" border="0"/></td>
  512. </tr>
  513. <tr>
  514.     <td><xsl:apply-templates select="graphic|block|block2"/></td>
  515. </tr>
  516. </table>
  517. </xsl:template>
  518.  
  519. <xsl:template match="illustration/title">
  520.     <p class="illustrationTitle2"><xsl:apply-templates/></p>
  521. </xsl:template>
  522.  
  523. <xsl:template match="picture">
  524. <table border="0" cellpadding="2" cellspacing="0">
  525. <tr>
  526.     <td><xsl:apply-templates select="graphic"/></td>
  527. </tr>
  528. </table>
  529. </xsl:template>
  530.  
  531. <xsl:template match="graphic">
  532. <xsl:variable name="base">media/content/</xsl:variable>
  533. <img src="{$courseFilePath}{$base}{@src}">
  534. <xsl:if test="@width"><xsl:copy-of select="@width"/></xsl:if>
  535. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  536. <xsl:if test="@border"><xsl:copy-of select="@border"/></xsl:if>
  537. <xsl:if test="@align"><xsl:copy-of select="@align"/></xsl:if>
  538. <xsl:if test="@vspace"><xsl:copy-of select="@vspace"/></xsl:if>
  539. <xsl:if test="@hspace"><xsl:copy-of select="@hspace"/></xsl:if>
  540. <xsl:if test="@usemap"><xsl:copy-of select="@usemap"/></xsl:if>
  541. <xsl:if test="@alt"><xsl:copy-of select="@alt"/></xsl:if>
  542. </img>
  543. </xsl:template>
  544.  
  545.  
  546. <xsl:template match="notes">
  547. <xsl:apply-templates/>
  548. </xsl:template>
  549.  
  550. <xsl:template match="note">
  551. <div id="{@id}" style="position:absolute; top:0; left:0; visibility:hidden;">
  552. <table cellpadding="4" cellspacing="1" border="0" bgcolor="#CE2131" width="400">
  553. <tr>
  554.     <td bgcolor="#CE2131" align="right" valign="top"><a href="javascript:changeState('{@id}', in_x, in_y);"><img src="{$courseFilePath}media/content/graphics/common/fnt_close.gif" border="0" width="21" height="24" alt="Close"/></a></td>
  555. </tr>
  556. <tr><!-- content of overlay box -->
  557.     <td bgcolor="#FFEBD7" align="left" valign="top"><xsl:apply-templates/></td>
  558. </tr>
  559. </table>
  560. </div>
  561. </xsl:template>
  562.  
  563. <xsl:template match="noteref">
  564. <a href="javascript:void();" onclick="javascript:changeState('{@idref}', in_x, in_y); return false;"><img src="{$courseFilePath}media/content/graphics/common/fnt.gif" border="0" align="top" alt="Read this text"/></a>
  565. </xsl:template>
  566.  
  567.  
  568. <xsl:template match="keyterms">
  569. <table border="0" cellpadding="2" cellspacing="0" width="100%" bgcolor="#CEDEEF">
  570.     <tr>
  571.         <td valign="top"><span class="keytermsTitle"><xsl:value-of select="title"/></span></td>
  572.     </tr>
  573.     <tr>
  574.         <td height="1" bgcolor="#FFDEBD"><img src="{$courseFilePath}media/content/graphics/pixel.gif" border="0" width="1" height="1"/></td>
  575.     </tr>
  576.     <tr>
  577.         <td valign="top"><xsl:apply-templates/></td>
  578.     </tr>
  579. </table>
  580. <br/>
  581. </xsl:template>
  582.  
  583.  
  584. <xsl:template match="exercises">
  585.     <xsl:apply-templates/>
  586. </xsl:template>
  587.  
  588. <xsl:template match="exercises/title">
  589. <span class="exercisesTitle"><xsl:apply-templates/></span>
  590. </xsl:template>
  591. <!-- ====== end of block formatting =============================== -->
  592.  
  593.  
  594. <!-- ============= inline formatting =============================== -->
  595. <xsl:template match="span">
  596. <xsl:call-template name="anchorname"/>
  597. <span>
  598. <xsl:attribute name="class">
  599.     <xsl:choose>
  600.         <xsl:when test="@class"><xsl:value-of select="@class"/></xsl:when>
  601.         <xsl:when test="../../../@role = 'browse'">link</xsl:when>
  602.         <xsl:otherwise>span</xsl:otherwise>
  603.     </xsl:choose>
  604. </xsl:attribute>
  605. <xsl:choose>
  606.     <xsl:when test="@style"><span style="{@style}"><xsl:apply-templates/></span></xsl:when>
  607.     <xsl:otherwise><xsl:apply-templates/></xsl:otherwise>
  608. </xsl:choose>
  609. </span>
  610. </xsl:template>
  611.  
  612.     <!-- START keyword -->
  613. <xsl:template match="keyword">
  614.     <span class="keyword"><xsl:apply-templates/></span>
  615. </xsl:template>
  616.     <!-- END keyword -->
  617.  
  618.     <!-- START italic, bold, underline -->
  619. <xsl:template match="emphasis">
  620. <xsl:choose>
  621.     <xsl:when test="@role='bold'">
  622.         <span style="font-weight:bold;"><xsl:apply-templates/></span>
  623.     </xsl:when>
  624.     <xsl:when test="@role='underline'">
  625.         <span style="text-decoration:underline;"><xsl:apply-templates/></span>
  626.     </xsl:when>
  627.     <xsl:otherwise>
  628.         <span style="font-style:italic;"><xsl:apply-templates/></span>
  629.     </xsl:otherwise>
  630. </xsl:choose>
  631. </xsl:template>
  632.     <!-- END italic, bold, underline -->
  633.  
  634.     <!-- START superscript -->
  635. <xsl:template match="superscript">
  636. <span style="font-size:80%;"><sup><xsl:apply-templates/></sup></span>
  637. </xsl:template>
  638.     <!-- END superscript -->
  639.  
  640.  
  641.     <!-- START subscript -->
  642. <xsl:template match="subscript">
  643. <span style="font-size:80%;"><sub><xsl:apply-templates/></sub></span>
  644. </xsl:template>
  645.     <!-- END subscript -->
  646.  
  647.  
  648. <xsl:template match="inlineimage">
  649. <xsl:variable name="base">media/content/</xsl:variable>
  650. <img src="{$courseFilePath}{$base}{@src}">
  651. <xsl:if test="@width"><xsl:copy-of select="@width"/></xsl:if>
  652. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  653. <xsl:if test="@border"><xsl:copy-of select="@border"/></xsl:if>
  654. <xsl:if test="@align"><xsl:copy-of select="@align"/></xsl:if>
  655. <xsl:if test="@vspace"><xsl:copy-of select="@vspace"/></xsl:if>
  656. <xsl:if test="@hspace"><xsl:copy-of select="@hspace"/></xsl:if>
  657. <xsl:if test="@usemap"><xsl:copy-of select="@usemap"/></xsl:if>
  658. <xsl:if test="@alt"><xsl:copy-of select="@alt"/></xsl:if>
  659. </img>
  660. </xsl:template>
  661.  
  662. <xsl:template match="c">
  663.     <span style="color:{@color}"><xsl:apply-templates/></span>
  664. </xsl:template>
  665.  
  666. <!-- ====== end of inline formatting =============================== -->
  667.  
  668.  
  669. <!-- ============= block =============================== -->
  670.  
  671. <xsl:template match="block">
  672. <table border="0" cellpadding="0" cellspacing="0">
  673. <xsl:choose>
  674.     <xsl:when test="@width"><xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute></xsl:when>
  675.     <xsl:otherwise>
  676.         <xsl:attribute name="width">80%</xsl:attribute>
  677.     </xsl:otherwise>
  678. </xsl:choose>
  679. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  680. <tr><td>
  681. <xsl:choose>
  682.     <xsl:when test="@id">
  683. <xsl:attribute name="class"><xsl:value-of select="@id"/></xsl:attribute>
  684.     </xsl:when>
  685.     <xsl:otherwise>
  686. <xsl:attribute name="bgcolor">
  687.     <xsl:choose>
  688.         <xsl:when test="@bordercolor"><xsl:value-of select="@bordercolor"/></xsl:when>
  689.         <xsl:otherwise>#CE2131</xsl:otherwise>
  690.     </xsl:choose>
  691. </xsl:attribute>
  692.     </xsl:otherwise>
  693. </xsl:choose>
  694. <table border="0" cellpadding="4" cellspacing="1">
  695. <xsl:choose>
  696.     <xsl:when test="@width"><xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute></xsl:when>
  697.     <xsl:otherwise>
  698.         <xsl:attribute name="width">100%</xsl:attribute>
  699.     </xsl:otherwise>
  700. </xsl:choose>
  701. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  702. <xsl:choose>
  703.     <xsl:when test="@border">
  704.         <xsl:attribute name="cellspacing"><xsl:value-of select="@border"/></xsl:attribute>
  705.     </xsl:when>
  706.     <xsl:otherwise></xsl:otherwise>
  707. </xsl:choose>
  708. <tr><td>
  709. <xsl:choose>
  710.     <xsl:when test="@id">
  711. <xsl:attribute name="class"><xsl:value-of select="@id"/></xsl:attribute>
  712.     </xsl:when>
  713.     <xsl:otherwise>
  714. <xsl:attribute name="bgcolor">
  715.     <xsl:choose>
  716.         <xsl:when test="@fillcolor"><xsl:value-of select="@fillcolor"/></xsl:when>
  717.         <xsl:otherwise>#FFDEBD</xsl:otherwise>
  718.     </xsl:choose>
  719. </xsl:attribute>
  720.     </xsl:otherwise>
  721. </xsl:choose>
  722. <xsl:apply-templates/>
  723. </td></tr></table>
  724. </td></tr></table>
  725. </xsl:template>
  726.  
  727. <xsl:template match="block/title">
  728.  
  729. <p class="blocktitle" align="center">
  730. <xsl:call-template name="anchorname"/>
  731. <xsl:apply-templates/>
  732. </p>
  733.  
  734. </xsl:template>
  735.  
  736.  
  737. <xsl:template match="block2">
  738. <table border="0" cellpadding="0" cellspacing="0">
  739. <xsl:choose>
  740.     <xsl:when test="@width"><xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute></xsl:when>
  741.     <xsl:otherwise>
  742.         <xsl:attribute name="width"></xsl:attribute>
  743.     </xsl:otherwise>
  744. </xsl:choose>
  745. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  746. <tr><td>
  747. <xsl:choose>
  748.     <xsl:when test="@id">
  749. <xsl:attribute name="class"><xsl:value-of select="@id"/></xsl:attribute>
  750.     </xsl:when>
  751.     <xsl:otherwise>
  752. <xsl:attribute name="bgcolor">
  753.     <xsl:choose>
  754.         <xsl:when test="@bordercolor"><xsl:value-of select="@bordercolor"/></xsl:when>
  755.         <xsl:otherwise>#CE2131</xsl:otherwise>
  756.     </xsl:choose>
  757. </xsl:attribute>
  758.     </xsl:otherwise>
  759. </xsl:choose>
  760. <table border="0" cellpadding="0" cellspacing="1">
  761. <xsl:choose>
  762.     <xsl:when test="@width"><xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute></xsl:when>
  763.     <xsl:otherwise>
  764.         <xsl:attribute name="width">100%</xsl:attribute>
  765.     </xsl:otherwise>
  766. </xsl:choose>
  767. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  768. <xsl:choose>
  769.     <xsl:when test="@border">
  770.         <xsl:attribute name="cellspacing"><xsl:value-of select="@border"/></xsl:attribute>
  771.     </xsl:when>
  772.     <xsl:otherwise></xsl:otherwise>
  773. </xsl:choose>
  774. <tr><td>
  775. <xsl:choose>
  776.     <xsl:when test="@id">
  777. <xsl:attribute name="class"><xsl:value-of select="@id"/></xsl:attribute>
  778.     </xsl:when>
  779.     <xsl:otherwise>
  780. <xsl:attribute name="bgcolor">
  781.     <xsl:choose>
  782.         <xsl:when test="@fillcolor"><xsl:value-of select="@fillcolor"/></xsl:when>
  783.         <xsl:otherwise>#FFDEBD</xsl:otherwise>
  784.     </xsl:choose>
  785. </xsl:attribute>
  786.     </xsl:otherwise>
  787. </xsl:choose>
  788. <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFDEBD">
  789. <tr>
  790.     <td><img src="{$courseFilePath}media/content/graphics/common/blocktitle.gif" border="0"/></td>
  791.     <td align="center" width="100%"><xsl:apply-templates select="title"/></td>
  792. </tr>
  793. </table>
  794.  
  795. <table border="0" cellpadding="4" cellspacing="0"  bgcolor="#ffffff" width="100%">
  796. <tr>
  797.     <td>
  798. <xsl:apply-templates select="blockbody"/>
  799.     </td>
  800. </tr>
  801. </table>
  802.  
  803. </td></tr></table>
  804. </td></tr></table>
  805. </xsl:template>
  806.  
  807.  
  808. <xsl:template match="block2/title">
  809.  
  810. <p class="blocktitle">
  811. <xsl:call-template name="anchorname"/>
  812. <xsl:apply-templates/>
  813. </p>
  814.  
  815. </xsl:template>
  816.  
  817.  
  818. <xsl:template match="line">
  819. <table border="0" cellpadding="0" cellspacing="0" width="98%">
  820. <xsl:attribute name="bgcolor">
  821.     <xsl:choose>
  822.         <xsl:when test="@color"><xsl:value-of select="@color"/></xsl:when>
  823.         <xsl:otherwise>#CE2131</xsl:otherwise>
  824.     </xsl:choose>
  825. </xsl:attribute>
  826. <tr>
  827. <td width="100%"><img src="{$edugenFilePath}media/graphics/pixel.gif" width="{@width}" height="{@height}" border="0"/></td>
  828. </tr></table>
  829. </xsl:template>
  830.  
  831. <xsl:template match="blockbody">
  832. <xsl:call-template name="anchorname"/>
  833. <xsl:apply-templates/>
  834. </xsl:template>
  835.  
  836. <!-- ====== block =============================== -->
  837.  
  838.  
  839. <!-- ============= instruction =============================== -->
  840. <xsl:template match="instruction">
  841. <xsl:apply-templates/>
  842. </xsl:template>
  843.  
  844. <xsl:template match="instruction/title">
  845. <p class="instructiontitle">
  846. <xsl:call-template name="anchorname"/>
  847. <xsl:apply-templates/>
  848. </p>
  849. </xsl:template>
  850. <!-- ====== instruction =============================== -->
  851.  
  852.  
  853. <!-- ============= javascript =============================== -->
  854. <xsl:template match="javascript">
  855. </xsl:template>
  856.  
  857. <xsl:template match="javascript" mode="javascript">
  858. <xsl:apply-templates/>
  859. </xsl:template>
  860. <!-- ====== end of javascript =============================== -->
  861.  
  862.  
  863. <!-- ============= buttons =============================== -->
  864. <xsl:template match="button">
  865. <xsl:call-template name="anchorname"/>
  866. <xsl:call-template name="button">
  867.     <xsl:with-param name="button_id"><xsl:value-of select="@id"/></xsl:with-param>
  868.     <xsl:with-param name="alt"><xsl:value-of select="@alt"/></xsl:with-param>
  869. </xsl:call-template>
  870. </xsl:template>
  871.  
  872. <xsl:template name="button">
  873. <xsl:param name="button_id"></xsl:param>
  874. <xsl:param name="alt"></xsl:param>
  875. <a onmouseover="javascript:{$button_id}butImage.mOver();" onmouseout="javascript:{$button_id}butImage.mOut();" onmousedown="javascript:{$button_id}butImage.mDown();" onmouseup="javascript:{$button_id}butImage.mOver();">
  876. <xsl:call-template name="xlink_attribures"/>
  877. <img name="{$button_id}but" src="{$courseFilePath}media/{$component}/graphics/buttons/{$button_id}/out.gif" border="0" alt="{$alt}"/></a>
  878. </xsl:template>
  879.  
  880. <xsl:template match="button_js">
  881. <xsl:call-template name="button_js">
  882.     <xsl:with-param name="button_id"><xsl:value-of select="@idref"/></xsl:with-param>
  883. </xsl:call-template>
  884. </xsl:template>
  885.  
  886. <xsl:template name="button_js">
  887. <xsl:param name="button_id"></xsl:param>
  888. var <xsl:value-of select="$button_id"/>butImage = new imageObject("<xsl:value-of select="$button_id"/>but", "<xsl:value-of select="$courseHttpPath"/>media/<xsl:value-of select="$component"/>/graphics/buttons/<xsl:value-of select="$button_id"/>/");
  889. </xsl:template>
  890. <!-- ====== end of buttons =============================== -->
  891.  
  892.  
  893. <!-- ============= anchor =============================== -->
  894. <xsl:template match="a">
  895. <xsl:call-template name="anchor"/>
  896. </xsl:template>
  897.  
  898. <xsl:template match="area">
  899. <area>
  900. <xsl:if test="@alt"><xsl:copy-of select="@alt"/></xsl:if>
  901. <xsl:if test="@shape"><xsl:copy-of select="@shape"/></xsl:if>
  902. <xsl:if test="@coords"><xsl:copy-of select="@coords"/></xsl:if>
  903.     <xsl:call-template name="xlink_attribures"/>
  904. </area>
  905. </xsl:template>
  906.  
  907. <xsl:template name="anchor">
  908. <a>
  909. <xsl:if test="@onclick"><xsl:copy-of select="@onclick"/></xsl:if>
  910. <xsl:if test="@onmouseout"><xsl:copy-of select="@onmouseout"/></xsl:if>
  911. <xsl:if test="@onmouseover"><xsl:copy-of select="@onmouseover"/></xsl:if>
  912. <xsl:if test="@onmousedown"><xsl:copy-of select="@onmousedown"/></xsl:if>
  913. <xsl:if test="@onmouseup"><xsl:copy-of select="@onmouseup"/></xsl:if>
  914. <xsl:attribute name="class">
  915.     <xsl:choose>
  916.         <xsl:when test="@class"><xsl:value-of select="@class"/></xsl:when>
  917.         <xsl:otherwise>link</xsl:otherwise>
  918.     </xsl:choose>
  919. </xsl:attribute>
  920. <xsl:call-template name="xlink_attribures"/>
  921. <xsl:apply-templates/>
  922. </a>
  923. </xsl:template>
  924.  
  925.  
  926. <xsl:template match="a[@onclick]">
  927. <a href="{@xlink:href}" class="link">
  928. <xsl:apply-templates/>
  929. </a>
  930. </xsl:template>
  931.  
  932. <!-- xlink_attribures -->
  933. <xsl:template name="xlink_attribures">
  934. <xsl:variable name="base">
  935.     <xsl:choose>
  936.         <xsl:when test="@xml:base"><xsl:value-of select="@xml:base"/></xsl:when>
  937.         <xsl:otherwise><xsl:value-of select="$filebase"/></xsl:otherwise>
  938.     </xsl:choose>
  939. </xsl:variable>
  940. <xsl:choose>
  941.     <xsl:when test="@xlink:show='new'">
  942.         <xsl:choose>
  943.             <xsl:when test="@role">
  944.                 <xsl:choose>
  945.                     <xsl:when test="@role='overlay'">
  946. <xsl:variable name="cur_id"><xsl:value-of select="substring-after(@xlink:href,'#')"/></xsl:variable>
  947. <xsl:variable name="width"><xsl:value-of select="//overlay[@id=$cur_id]/@width"/></xsl:variable>
  948. <xsl:variable name="height"><xsl:value-of select="//overlay[@id=$cur_id]/@height"/></xsl:variable>
  949.                         <xsl:attribute name="href">javascript:winOpen('<xsl:value-of select="$base"/>','<xsl:value-of select="$file"/>','<xsl:value-of select="@xlink:href"/>','<xsl:value-of select="@role"/>','<xsl:value-of select="$width"/>','<xsl:value-of select="$height"/>');</xsl:attribute>
  950.                     </xsl:when>
  951.                     <xsl:when test="@role='gtext'">
  952.                         <xsl:attribute name="href">javascript:winOpen('<xsl:value-of select="$base"/>','<xsl:value-of select="$file"/>','<xsl:value-of select="@xlink:href"/>','<xsl:value-of select="@role"/>');</xsl:attribute>
  953.                     </xsl:when>
  954.                     <xsl:when test="@role='glossary' or @role='index' or @role='timescale'">
  955.                         <xsl:attribute name="href">javascript:glossaryWinOpen('<xsl:value-of select="$base"/>','<xsl:value-of select="$file"/>','<xsl:value-of select="@xlink:href"/>','<xsl:value-of select="@role"/>');</xsl:attribute>
  956.                     </xsl:when>
  957.                     <xsl:otherwise>
  958.                         <xsl:attribute name="href">javascript:winOpen('<xsl:value-of select="$base"/>','<xsl:value-of select="$file"/>','<xsl:value-of select="@xlink:href"/>','<xsl:value-of select="@role"/>');</xsl:attribute>
  959.                     </xsl:otherwise>
  960.                 </xsl:choose>
  961.             </xsl:when>
  962.             <xsl:otherwise>
  963.                 <xsl:attribute name="href"><xsl:value-of select="@xlink:href"/></xsl:attribute>
  964.                 <xsl:attribute name="target">_blank</xsl:attribute>
  965.             </xsl:otherwise>
  966.         </xsl:choose>
  967.     </xsl:when>
  968.     <xsl:when test="@xlink:show='replace'">
  969.         <xsl:choose>
  970.             <xsl:when test="@role">
  971.                 <xsl:choose>
  972.                     <xsl:when test="@role='back'">
  973.                         <xsl:attribute name="href">javascript:goBack();</xsl:attribute>
  974.                     </xsl:when>
  975.                     <xsl:when test="@role='alert'">
  976.                         <xsl:attribute name="href">javascript:alert('Not available in demo version.');</xsl:attribute>
  977.                     </xsl:when>
  978.                     <xsl:when test="@role='path'">
  979.                         <xsl:attribute name="href">javascript:gotoPath('<xsl:value-of select="@path"/>');</xsl:attribute>
  980.                     </xsl:when>
  981.                     <xsl:when test="@role='taketest'">
  982.                         <xsl:attribute name="href"><xsl:value-of select="@xlink:href"/></xsl:attribute>
  983.                     </xsl:when>
  984.                     <xsl:otherwise>
  985.                         <xsl:attribute name="href">javascript:gotoPage('<xsl:value-of select="$base"/>','<xsl:value-of select="$file"/>','<xsl:value-of select="@xlink:href"/>');</xsl:attribute>
  986.                     </xsl:otherwise>
  987.                 </xsl:choose>
  988.             </xsl:when>
  989.             <xsl:otherwise>
  990.                 <xsl:attribute name="href">javascript:gotoPage('<xsl:value-of select="$base"/>','<xsl:value-of select="$file"/>','<xsl:value-of select="@xlink:href"/>');</xsl:attribute>
  991.                 <!-- <xsl:attribute name="href"><xsl:value-of select="@xlink:href"/></xsl:attribute>
  992.                 <xsl:attribute name="target">_self</xsl:attribute> -->
  993.             </xsl:otherwise>
  994.         </xsl:choose>
  995.     </xsl:when>
  996.     <xsl:otherwise></xsl:otherwise>
  997. </xsl:choose>
  998. </xsl:template>
  999.  
  1000. <xsl:template name="anchorname">
  1001. <xsl:param name="process_node" select="."/>
  1002.     <xsl:if test="$process_node/@id"><a name="{@id}"></a></xsl:if>
  1003. </xsl:template>
  1004.  
  1005. <xsl:template name="parent_anchorname">
  1006.     <xsl:if test="../@id"><a name="{../@id}"/></xsl:if>
  1007. </xsl:template>
  1008. <!-- ====== end of anchor =============================== -->
  1009.  
  1010.  
  1011. <!-- ============= html tags =============================== -->
  1012. <xsl:template match="table|thead|tbody|tfoot|tr|th|td">
  1013. <xsl:call-template name="htmltags"/>
  1014. </xsl:template>
  1015.  
  1016. <xsl:template match="map|br|applet|param|div|center">
  1017. <xsl:call-template name="htmltags"/>
  1018. </xsl:template>
  1019.  
  1020. <xsl:template name="htmltags">
  1021. <xsl:copy>
  1022.     <xsl:copy-of select="@*"/>
  1023. <xsl:if test="@background">
  1024. <xsl:attribute name="background"><xsl:value-of select="$courseFilePath"/>media/content/<xsl:value-of select="@background"/></xsl:attribute>
  1025. </xsl:if>
  1026.     <xsl:apply-templates/>
  1027. </xsl:copy>
  1028. </xsl:template>
  1029.  
  1030. <!-- ====== end of html tags =============================== -->
  1031.  
  1032.  
  1033. <!-- ============= wrappers for blob =============================== -->
  1034.  
  1035. <!-- audio -->
  1036. <xsl:template match="audio">
  1037. <xsl:apply-templates/>
  1038. </xsl:template>
  1039.  
  1040. <xsl:template match="audio/alternative">
  1041. </xsl:template>
  1042.  
  1043. <!-- movie -->
  1044. <xsl:template match="movie">
  1045. <xsl:apply-templates/>
  1046. </xsl:template>
  1047.  
  1048. <xsl:template match="movie/alternative">
  1049. </xsl:template>
  1050.  
  1051. <!-- interactive -->
  1052. <xsl:template match="interactive">
  1053. <xsl:apply-templates select="flash"/>
  1054. </xsl:template>
  1055.  
  1056. <xsl:template match="interactive/alternative">
  1057. </xsl:template>
  1058. <!-- ============= end of wrapper for blob =============================== -->
  1059.  
  1060.  
  1061. <!-- ============= blob =============================== -->
  1062. <xsl:template match="image">
  1063. <xsl:variable name="base">media/content/</xsl:variable>
  1064. <img src="{$courseFilePath}{$base}{@src}">
  1065. <xsl:if test="@width"><xsl:copy-of select="@width"/></xsl:if>
  1066. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  1067. <xsl:if test="@border"><xsl:copy-of select="@border"/></xsl:if>
  1068. <xsl:if test="@align"><xsl:copy-of select="@align"/></xsl:if>
  1069. <xsl:if test="@vspace"><xsl:copy-of select="@vspace"/></xsl:if>
  1070. <xsl:if test="@hspace"><xsl:copy-of select="@hspace"/></xsl:if>
  1071. <xsl:if test="@usemap"><xsl:copy-of select="@usemap"/></xsl:if>
  1072. <xsl:if test="@alt"><xsl:copy-of select="@alt"/></xsl:if>
  1073. </img>
  1074. </xsl:template>
  1075.  
  1076. <!-- macromedia flash -->
  1077. <xsl:template match="flash">
  1078. <xsl:variable name="base">media/content/</xsl:variable>
  1079.  
  1080. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">
  1081. <xsl:if test="@id"><xsl:copy-of select="@id"/></xsl:if>
  1082. <xsl:if test="@width"><xsl:copy-of select="@width"/></xsl:if>
  1083. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  1084. <xsl:if test="@border"><xsl:copy-of select="@border"/></xsl:if>
  1085. <param name="movie" value="{$courseHttpPath}{$base}{@src}"/>
  1086. <!-- <param name="movie" value="{$courseFilePath}{$base}{@src}"/>-->
  1087. <xsl:if test="@loop"><param name="loop" value="{@loop}"/></xsl:if>
  1088. <xsl:if test="@menu"><param name="menu" value="{@menu}"/></xsl:if>
  1089. <xsl:if test="@quality"><param name="quality" value="{@quality}"/></xsl:if>
  1090. <xsl:if test="@bgcolor"><param name="bgcolor" value="{@bgcolor}"/></xsl:if>
  1091. <xsl:if test="@play"><param name="play" value="{@play}"/></xsl:if>
  1092. <xsl:if test="@scale"><param name="scale" value="{@scale}"/></xsl:if>
  1093.  
  1094. <embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" swliveconnect="true" src="{$courseFilePath}{$base}{@src}">
  1095. <xsl:if test="@id"><xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute></xsl:if>
  1096. <xsl:if test="@width">
  1097. <xsl:choose>
  1098.     <xsl:when test="@width='100%'"><xsl:attribute name="width">99%</xsl:attribute></xsl:when>
  1099.     <xsl:otherwise><xsl:copy-of select="@width"/></xsl:otherwise>
  1100.     </xsl:choose>
  1101. </xsl:if>
  1102. <xsl:if test="@height">
  1103. <xsl:choose>
  1104.     <xsl:when test="@height='100%'"><xsl:attribute name="height">99%</xsl:attribute></xsl:when>
  1105.     <xsl:otherwise><xsl:copy-of select="@height"/></xsl:otherwise>
  1106.     </xsl:choose>
  1107. </xsl:if>
  1108. <xsl:if test="@border"><xsl:copy-of select="@border"/></xsl:if>
  1109. <xsl:if test="@loop"><xsl:copy-of select="@loop"/></xsl:if>
  1110. <xsl:if test="@menu"><xsl:copy-of select="@menu"/></xsl:if>
  1111. <xsl:if test="@quality"><xsl:copy-of select="@quality"/></xsl:if>
  1112. <xsl:if test="@bgcolor"><xsl:copy-of select="@bgcolor"/></xsl:if>
  1113. <xsl:if test="@play"><xsl:copy-of select="@play"/></xsl:if>
  1114. <xsl:if test="@scale"><xsl:copy-of select="@scale"/></xsl:if>
  1115. </embed>
  1116.  
  1117. </object>
  1118.  
  1119. </xsl:template>
  1120.  
  1121. <!-- macromedia director -->
  1122. <xsl:template match="director">
  1123. <xsl:variable name="base">media/content/</xsl:variable>
  1124.  
  1125. <object classid="clsid:166B1BCA-3F9C-11CF-8075-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0">
  1126. <xsl:if test="@id"><xsl:copy-of select="@id"/></xsl:if>
  1127. <xsl:if test="@width"><xsl:copy-of select="@width"/></xsl:if>
  1128. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  1129. <xsl:if test="@border"><xsl:copy-of select="@border"/></xsl:if>
  1130. <!-- <param name="src" value="{$courseHttpPath}{$base}{@src}"/> -->
  1131. <param name="src" value="{$courseFilePath}{$base}{@src}"/>
  1132.  
  1133. <xsl:if test="@loop"><param name="loop" value="{@loop}"/></xsl:if>
  1134. <xsl:if test="@menu"><param name="menu" value="{@menu}"/></xsl:if>
  1135. <xsl:if test="@quality"><param name="quality" value="{@quality}"/></xsl:if>
  1136. <xsl:if test="@bgcolor"><param name="bgcolor" value="{@bgcolor}"/></xsl:if>
  1137. <xsl:if test="@play"><param name="play" value="{@play}"/></xsl:if>
  1138. <xsl:if test="@scale"><param name="scale" value="{@scale}"/></xsl:if>
  1139.  
  1140. <xsl:if test="param">
  1141.     <xsl:for-each select="param">
  1142.         <param value="{@value}" name="{@name}" />
  1143.     </xsl:for-each>
  1144. </xsl:if>
  1145.  
  1146.  
  1147. <embed type="application/x-director" pluginspage="http://www.macromedia.com/shockwave/download/" swliveconnect="true" src="{$courseFilePath}{$base}{@src}">
  1148. <xsl:if test="@id"><xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute></xsl:if>
  1149. <xsl:if test="@width">
  1150. <xsl:choose>
  1151.     <xsl:when test="@width='100%'"><xsl:attribute name="width">99%</xsl:attribute></xsl:when>
  1152.     <xsl:otherwise><xsl:copy-of select="@width"/></xsl:otherwise>
  1153.     </xsl:choose>
  1154. </xsl:if>
  1155. <xsl:if test="@height">
  1156. <xsl:choose>
  1157.     <xsl:when test="@height='100%'"><xsl:attribute name="height">99%</xsl:attribute></xsl:when>
  1158.     <xsl:otherwise><xsl:copy-of select="@height"/></xsl:otherwise>
  1159.     </xsl:choose>
  1160. </xsl:if>
  1161. <xsl:if test="@border"><xsl:copy-of select="@border"/></xsl:if>
  1162. <xsl:if test="@loop"><xsl:copy-of select="@loop"/></xsl:if>
  1163. <xsl:if test="@menu"><xsl:copy-of select="@menu"/></xsl:if>
  1164. <xsl:if test="@quality"><xsl:copy-of select="@quality"/></xsl:if>
  1165. <xsl:if test="@bgcolor"><xsl:copy-of select="@bgcolor"/></xsl:if>
  1166. <xsl:if test="@play"><xsl:copy-of select="@play"/></xsl:if>
  1167. <xsl:if test="@scale"><xsl:copy-of select="@scale"/></xsl:if>
  1168.  
  1169. <xsl:if test="param">
  1170.     <xsl:for-each select="param">
  1171.         <xsl:attribute name="{@name}"><xsl:value-of select="@value"/></xsl:attribute>
  1172.     </xsl:for-each>
  1173. </xsl:if>
  1174.  
  1175. </embed>
  1176.  
  1177. </object>
  1178.  
  1179. <xsl:if test="@id">
  1180.     <script for="{@id}" event="externalEvent(aParam)" language="javascript">
  1181.     eval(aParam);
  1182. </script>
  1183. </xsl:if>
  1184.  
  1185.  
  1186. </xsl:template>
  1187.  
  1188.  
  1189. <!-- PDB files -->
  1190. <!-- <xsl:template match="pdb">
  1191. <xsl:variable name="path"><?303?></xsl:variable>
  1192. <xsl:variable name="base">media/content/</xsl:variable>
  1193. <table border="0" cellpadding="0" cellspacing="0" align="center">
  1194. <tr>
  1195.     <td><br/><embed type="chemical/x-pdb" src="{$path}{$base}{@src}" width="600" height="400"/></td>
  1196. </tr>
  1197. </table>
  1198. </xsl:template> -->
  1199.  
  1200. <xsl:template match="pdb">
  1201.  
  1202. <table border="0" cellpadding="0" cellspacing="0" align="center">
  1203. <tr>
  1204.     <td><br/><a href="javascript:openRasmolFiles('{@src}');" class="link">Click here to view 3D model.</a></td>
  1205. </tr>
  1206. </table>
  1207. </xsl:template>
  1208.  
  1209.  
  1210. <!-- c3d files -->
  1211. <xsl:template match="c3d">
  1212. <xsl:variable name="path"><?303?></xsl:variable>
  1213. <xsl:variable name="base">media/content/</xsl:variable>
  1214. <table border="0" cellpadding="0" cellspacing="0" align="center">
  1215. <tr>
  1216.     <td><br/><embed type="chemical/x-chem3d" src="{$path}{$base}{@src}" width="400" height="300"/></td>
  1217. </tr>
  1218. </table>
  1219. </xsl:template>
  1220.  
  1221.  
  1222. <!-- real audio -->
  1223. <xsl:template match="real">
  1224. <xsl:variable name="base">media/content/</xsl:variable>
  1225. <object id="{@name}" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="0" height="0">
  1226. <param name="src" value="{$courseFilePath}{$base}{@src}"/>
  1227. <param name="autostart" value="{@autostart}"/>
  1228. <embed type="audio/x-pn-realaudio-plugin" src="{$courseFilePath}{$base}{@src}" width="0" height="0" name="{@name}" autostart="{@autostart}" swliveconnect="true"/>
  1229. </object>
  1230. </xsl:template>
  1231.  
  1232. <!-- quicktime movie -->
  1233. <xsl:template match="qtmovie">
  1234. <xsl:variable name="base">media/content/</xsl:variable>
  1235. <embed type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/" swliveconnect="true" src="{$courseFilePath}{$base}{@src}">
  1236. <xsl:if test="@width"><xsl:copy-of select="@width"/></xsl:if>
  1237. <xsl:if test="@height"><xsl:copy-of select="@height"/></xsl:if>
  1238. <xsl:if test="@border"><xsl:copy-of select="@border"/></xsl:if>
  1239. <xsl:if test="@bgcolor"><xsl:copy-of select="@bgcolor"/></xsl:if>
  1240. <xsl:if test="@controller"><xsl:copy-of select="@controller"/></xsl:if>
  1241. <xsl:if test="@autoplay"><xsl:copy-of select="@autoplay"/></xsl:if>
  1242. <xsl:if test="qtnext1">
  1243. <xsl:attribute name="qtnext1"><xsl:value-of select="qtnext1/@next"/><xsl:text> </xsl:text><xsl:value-of select="qtnext1/@target"/><xsl:text> </xsl:text><xsl:value-of select="$courseFilePath"/><xsl:value-of select="$base"/><xsl:value-of select="qtnext1/@qtsrc"/></xsl:attribute>
  1244. </xsl:if>
  1245. </embed>
  1246. </xsl:template>
  1247. <!-- ====== end of blob =============================== -->
  1248.  
  1249.  
  1250.  
  1251. <!-- =========================================================================
  1252.      Thank you for examining our code.
  1253.      Please direct all questions, bug reports, or suggestions for changes
  1254.      to the info@maris.com
  1255. ========================================================================== -->
  1256.  
  1257.  
  1258. <xsl:template match="*">
  1259. <font color="red">
  1260.     <xsl:text><</xsl:text><xsl:value-of select="name(.)"/><xsl:text>></xsl:text>
  1261.     <xsl:apply-templates/>
  1262.     <xsl:text></</xsl:text><xsl:value-of select="name(.)"/><xsl:text>></xsl:text>
  1263. </font>
  1264. </xsl:template>
  1265.  
  1266. <xsl:template match="text()">
  1267.     <xsl:value-of select="."/>
  1268. </xsl:template>
  1269.  
  1270.  
  1271. </xsl:stylesheet>