home *** CD-ROM | disk | FTP | other *** search
/ Sybex Virtual Trainer CCNP Switching / Sybex_Virtual_Trainer_CCNP_Switching.iso / ccnp2711 / media / content / xmlbody_wl.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2001-03-11  |  51.5 KB  |  1,333 lines

  1. <?xml version="1.0"?>
  2. <!-- Sybex body stylesheet
  3.      Copyright (c) 2000  Maris Multimedia Ltd.  http://www.maris.com/
  4.      Thank you for examining our code. -->
  5.      
  6. <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0" xmlns="http://www.w3.org/TR/REC-html40" result-ns="" indent-result="yes">
  7.  
  8. <!-- main template: begin -->
  9. <xsl:template match="/">
  10. <HTML>
  11. <![CDATA[<!-- Copyright (c) 2000  Maris Multimedia Ltd.  http://www.maris.com/
  12.      Thank you for examining our code. -->]]>
  13. <HEAD>
  14. <TITLE><xsl:value-of select="/CHAPTER/TITLE" /><xsl:value-of select="/APPENDIX/TITLE" /><xsl:value-of select="/EXPLORATIONS/TITLE" /></TITLE>
  15. <LINK HREF="<?103?>&course=<?1008?>&file=media/content/css/style1.css" REL="STYLESHEET" TYPE="text/css" />
  16. <LINK HREF="<?103?>&course=<?1008?>&file=media/content/css/font<?1006?>.css" REL="STYLESHEET" TYPE="text/css" />
  17. <SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript"><![CDATA[
  18. //top.frames["iconbar"].document.applets["IconBar"].enableBackForward();
  19.  
  20. var ns = false;
  21. var ie = false;
  22. var layerRef,embedRef;
  23. if (document.layers)
  24. {
  25.     ns = true;
  26.     layerRef = "document.layers.";
  27.     embedRef = "document.embeds.";
  28. }
  29. if (document.all)
  30. {
  31.      ie = true;
  32.     layerRef = "document.all.";
  33.     styleRef = ".style";
  34. }       
  35.  
  36. function imageObject(imageSrc)
  37. {
  38.     this.imageObjectOut  = new Image();
  39.     this.imageObjectOver = new Image();
  40.     this.imageObjectDown = new Image();
  41.     
  42.     this.imageObjectOut.src  = imageSrc + "out.gif";
  43.     this.imageObjectOver.src = imageSrc + "over.gif";
  44.     this.imageObjectDown.src = imageSrc + "down.gif";
  45. }
  46.  
  47. function imageObjectChange(imageName,imageObj,imageState)
  48. {
  49.     eval("document."+imageName+".src="+imageObj+".imageObject"+imageState+".src;")
  50. }
  51.  
  52. function getBrowser()
  53. {
  54.     with (navigator)
  55.     {
  56.         if(parseInt(appVersion.substring(0, 2))>=4)
  57.         {
  58.             if (appName.indexOf('Microsoft')!=-1 && appVersion.indexOf('Win')!=-1) { return 0; }
  59.             if (appName.indexOf('Netscape')!=-1 && appVersion.indexOf('Win')!=-1) { return 1; }
  60.             if (appName.indexOf('Netscape')!=-1 && appVersion.indexOf('Mac')!=-1) { return 2; }
  61.         }
  62.         else { return 0; }
  63.     }
  64. }
  65. var browser=getBrowser();
  66.  
  67. var times = new Array("×", "×", "<font face='symbol'>¥</font>");
  68. var infin = new Array("<span class='symbol'>¥</span>", "<font face='symbol'>¥</font>", "<IMG SRC='<?103?>&file=media/content/graphics/0/infin<?1006?>.gif' BORDER='0'>");
  69. var ge = new Array("<span class='symbol'>³</span>", "<font face='symbol'>³</font>", "<IMG SRC='<?103?>&file=media/content/graphics/0/ge<?1006?>.gif' BORDER='0'>");
  70. var ap = new Array("<span class='symbol'>»</span>", "<font face='symbol'>»</font>", "<font face='symbol'>ª</font>");
  71. var ne = new Array("<span class='symbol'>¹</span>", "<font face='symbol'>¹</font>", "<IMG SRC='<?103?>&file=media/content/graphics/0/noteq<?1006?>.gif' BORDER='0'>");
  72. var cup  = new Array("<span class='symbol'>È</span>", "<font face='symbol'>È</font>", "<font face='symbol'>»</font>");
  73. var larr  = new Array("<span class='symbol'>¬</span>", "<font face='symbol'>¬</font>", "<font face='symbol'>¨</font>");
  74. var rarr  = new Array("<span class='symbol'>®</span>", "<font face='symbol'>®</font>", "<font face='symbol'>Æ</font>");
  75. var ang  = new Array("<span class='symbol'>Ð</span>", "<font face='symbol'>Ð</font>", "<font face='symbol'>–</font>");
  76.  
  77.  
  78. function playSound(in_Name)
  79. {
  80.     if (ie)
  81.     {
  82.         if(eval(layerRef + in_Name))
  83.         {
  84.             eval(layerRef + in_Name + ".DoPlayPause();");
  85.         }
  86.     }
  87.     else
  88.     {
  89.         eval(embedRef + in_Name + ".DoPlayPause();");
  90.     }
  91. }
  92.  
  93. function gotoPage(in_Ref)
  94. {
  95.     top.pageid=in_Ref;
  96.     parent.location="<?11?>?sid=<?1003?>&msg=4&xml=/media/content/links.xml&xsl=/media/content/links.xsl&name=selector&select=LS/L[@Q='"+in_Ref+"']";
  97. }
  98.  
  99. var readImage = new imageObject("<?11?>?sid=<?1003?>&msg=300&file=media/graphics/buttons/readpage/");
  100.  
  101. function readPage()
  102. {
  103.     if(top.frames['frameset'].frames['xmlarea'])
  104.     {
  105.         top.frames['frameset'].frames['xmlarea'].location="<?11?>?sid=<?1003?>&msg=2032&path=<?2051?>";
  106.     }
  107.     else
  108.     {
  109.         top.frames['frameset'].location="<?11?>?sid=<?1003?>&msg=2032&path=<?2051?>";
  110.     }
  111. }
  112.  
  113. var soundImage = new imageObject("<?11?>?sid=<?1003?>&msg=3&file=media/content/graphics/styles/sound");
  114. var zoomImage = new imageObject("<?11?>?sid=<?1003?>&msg=3&file=media/content/graphics/styles/zoom");
  115.  
  116. var aNewWindow=null; // variable for new separate window in wich will be loading Flas
  117. var flash_Source,flash_Width,flash_Height;
  118. // load Flash in new separate window
  119. function loadMovie(movieFile,in_Width,in_Height)
  120. {
  121.     var curLoc="<?103?>&file=media/content/zoom.htm";
  122.     var frameHeight=30;
  123.     var movieWidth=screen.width-16;
  124.     var movieHeight=screen.height-60-frameHeight;
  125.     
  126.     if((movieWidth/movieHeight)>(in_Width/in_Height))
  127.     {
  128.         movieWidth=Math.floor((movieHeight/in_Height)*in_Width);
  129.     }
  130.     else
  131.     {
  132.         movieHeight=Math.floor((movieWidth/in_Width)*in_Height);
  133.     }
  134.     
  135.     var movieLeft=(screen.width-16-movieWidth)/2;
  136.     var movieTop=(screen.height-60-frameHeight-movieHeight)/2;
  137.  
  138.     flash_Source=movieFile;
  139.     flash_Width=movieWidth;
  140.     flash_Height=movieHeight;
  141.     
  142.     movieHeight+=frameHeight;
  143.     
  144.     var paramWin="width="+movieWidth+",height="+movieHeight+",left="+movieLeft+",top="+movieTop+",resizable=no,copyhistory=no,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no";
  145.     // if aNewWindow has already some Flash in itself - close aNewWindow
  146.     if (aNewWindow!=null)
  147.     {
  148.         if (ns)
  149.         {
  150.             if (!aNewWindow.closed)
  151.             {
  152.                 aNewWindow.close();
  153.             }
  154.         }
  155.         else
  156.         {
  157.             aNewWindow.close();
  158.         }
  159.     }
  160.     aNewWindow=null;
  161.     // open aNewWindow and load Flash in it
  162.     aNewWindow=window.open(curLoc,"MovieWindow",paramWin); // load Flash
  163.     
  164.     stopSelfSound("FLASH");
  165. }
  166. function unloadMovie() // when Html is leaving - close aNewWindow if it is not closed
  167. {
  168.     if (aNewWindow!=null)
  169.     {
  170.         if (ns)
  171.         {
  172.             if (!aNewWindow.closed)
  173.             {
  174.                 aNewWindow.close();
  175.             }
  176.         }
  177.         else
  178.         {
  179.             aNewWindow.close();
  180.         }
  181.     }
  182.     aNewWindow=null;
  183. }
  184.  
  185. function stopSelfSound(in_Name)
  186. {
  187.     if (ie)
  188.     {
  189.         if(eval(layerRef + in_Name))
  190.         {
  191.             eval(layerRef + in_Name + '.TCallLabel("/drag","stop");');
  192.         }
  193.     }
  194.     else
  195.     {
  196.         eval(embedRef + in_Name + '.TCallLabel("/drag","stop");');
  197.     }
  198. }
  199.  
  200. function stopSound()
  201. {
  202.     if (aNewWindow!=null)
  203.     {
  204.         if (!aNewWindow.closed)
  205.         {
  206.             if (ie)
  207.             {
  208.                 aNewWindow.frames['zoomf'].window.document.all.FLASH.TCallLabel("/drag","stop");
  209.             }
  210.             else
  211.             {
  212.                 aNewWindow.frames['zoomf'].window.document.embeds.FLASH.TCallLabel("/drag","stop");
  213.             }
  214.         }
  215.     }
  216. }
  217. ]]></SCRIPT>
  218. </HEAD>
  219. <BODY LEFTMARGIN="7" TOPMARGIN="7" MARGINWIDTH="7" MARGINHEIGHT="7" BGCOLOR="#F0F0F0" onUnload="javascript:unloadMovie();" onresize="javascript:if(navigator.appName.indexOf('Netscape')!=-1)self.location.reload();">
  220. <xsl:apply-templates select="CHAPTER" name="selector" />
  221. <P ALIGN="RIGHT"><A HREF="javascript:readPage();" onmouseout="javascript:imageObjectChange('read','readImage','Out'); top.status=''; return true;" onmouseover="javascript:imageObjectChange('read','readImage','Over'); top.status='I\'ve read this page!'; return true;" onmousedown="javascript:imageObjectChange('read','readImage','Down');" onmouseup="javascript:imageObjectChange('read','readImage','Over');"><IMG NAME="read" SRC="<?301 media/graphics/buttons/readpage/out.gif?>" WIDTH="132" HEIGHT="24" BORDER="0" ALT="I've read this page!" HSPACE="10" VSPACE="10" /></A></P>
  222. </BODY>
  223. </HTML>
  224. </xsl:template>
  225. <!-- main template: end -->
  226.  
  227.  
  228. <!-- chapter intro: begin -->
  229. <xsl:template match="CHAPTER | APPENDIX">
  230.     <xsl:apply-templates select="TITLE" />
  231.     <xsl:apply-templates select="CHAPTEROBJECTIVEBLOCK" />
  232.     <xsl:apply-templates select="PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE | QUOTE | COMMENT" />
  233. </xsl:template>
  234.  
  235. <xsl:template match="CHAPTER/TITLE | APPENDIX/TITLE">
  236. <P><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">
  237. <TR>
  238. <xsl:apply-templates select="../AUDIO" />
  239.     <TD VALIGN="top"> </TD>
  240.     <TD VALIGN="top"><H1 CLASS="chapterTitle"><A NAME="{../@ID}"></A><xsl:apply-templates /></H1></TD>
  241. </TR>
  242. </TABLE>
  243. <TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="96%" HEIGHT="2" BORDER="0" BGCOLOR="#000000">
  244. <TR WIDTH="100%" HEIGHT="1" BGCOLOR="#000000">
  245.     <TD WIDTH="100%" HEIGHT="1" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD>
  246. </TR></TABLE></P>
  247. </xsl:template>
  248.  
  249. <xsl:template match="CHAPTER/CHAPTEROBJECTIVEBLOCK | APPENDIX/CHAPTEROBJECTIVEBLOCK">
  250. <xsl:apply-templates select="CHAPTEROBJECTIVETITLE" />
  251. <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">
  252. <xsl:apply-templates select="CHAPTEROBJECTIVE | CHAPTEROBJECTIVEBOLD | CHAPTERSUBOBJECTIVE" />
  253. </TABLE>
  254. </xsl:template>
  255.  
  256. <xsl:template match="CHAPTEROBJECTIVETITLE">
  257. <H2 CLASS="chapterOBTitle"><xsl:apply-templates /></H2>
  258. </xsl:template>
  259.  
  260. <xsl:template match="CHAPTEROBJECTIVE">
  261. <TR>
  262.     <TD CLASS="text" VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/check.gif?>" WIDTH="13" HEIGHT="17" BORDER="0" /></TD>
  263.     <TD CLASS="text" VALIGN="top"><B><xsl:apply-templates /></B></TD>
  264. </TR>
  265. </xsl:template>
  266.  
  267. <xsl:template match="CHAPTEROBJECTIVEBOLD">
  268. <TR>
  269.     <TD CLASS="text" VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="13" HEIGHT="17" BORDER="0" /></TD>
  270.     <TD CLASS="text" VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="26" HEIGHT="17" BORDER="0" /><B><xsl:apply-templates /></B></TD>
  271. </TR>
  272. </xsl:template>
  273.  
  274. <xsl:template match="CHAPTERSUBOBJECTIVE">
  275. <TR>
  276.     <TD CLASS="text" VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="13" HEIGHT="17" BORDER="0" /></TD>
  277.     <TD CLASS="text" VALIGN="top">
  278.         <UL CLASS="text" TYPE="square">
  279.             <LI CLASS="text"><xsl:apply-templates /></LI>
  280.         </UL>
  281.     </TD>
  282. </TR>
  283. </xsl:template>
  284.  
  285. <xsl:template match="CHAPTERSUBSUBOBJECTIVE">
  286.     <UL CLASS="text" TYPE="square"><BR/>
  287.         <LI CLASS="text"><xsl:apply-templates /></LI>
  288.     </UL>
  289. </xsl:template>
  290.  
  291. <xsl:template match="CHAPTERSUBOBJECTIVE/CHAPTEROBJECTIVEBOLD">
  292.     <BR/><NBSP/><NBSP/><NBSP/><NBSP/><B CLASS="text"><xsl:apply-templates /></B>
  293. </xsl:template>
  294. <!-- chapter intro: end -->
  295.  
  296.  
  297. <!-- section: begin -->
  298. <xsl:template match="CHAPTER/SECTION | CHAPTER/TESTSECTION | APPENDIX/SECTION | APPENDIX/TESTSECTION | CHAPTER/SECTION[@CASESTUDY]">
  299.     <xsl:apply-templates select="TITLE" />
  300.     <xsl:apply-templates select="PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE | QUOTE | COMMENT | EXERCISEBLOCK" />
  301. </xsl:template>
  302.  
  303.  
  304. <xsl:template match="CHAPTER/SECTION/SECTION | CHAPTER/TESTSECTION/TESTSECTION | APPENDIX/SECTION/SECTION | INTRODUCTION/SECTION | INTRODUCTION/ACKNOWLEDGMENTS | CHAPTER/SECTION/TESTSECTION | CHAPTER/SECTION[@CASESTUDY]/SECTION">
  305. <xsl:if test="@POS != null">
  306.     <xsl:apply-templates select="../TITLE" />
  307.     <xsl:apply-templates select="../PARA | ../LIST | ../RUNINBLOCK | ../PARACONTINUED | ../SLUG | ../NOTE | ../CODESNIPPET | ../TABULARDATA | ../TESTDATA | ../TABLE | ../TABLEB | ../WARNING | ../TIP | ../SIDEBARBLOCK | ../MSEXAMOBJECTIVE | ../QUOTE | ../COMMENT" />
  308. </xsl:if>
  309.     <xsl:apply-templates select="TITLE" />
  310.     <xsl:apply-templates select="SECTION | PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE | QUOTE | COMMENT | EXERCISEBLOCK" />
  311. </xsl:template>
  312.  
  313.  
  314. <xsl:template match="SECTION | TESTSECTION">
  315.     <xsl:apply-templates select="TITLE" />
  316.     <xsl:apply-templates select="SECTION | PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE | QUOTE | COMMENT | EXERCISEBLOCK" />
  317. </xsl:template>
  318.  
  319.  
  320. <!-- exception -->
  321. <xsl:template match="CHAPTER/SECTION/SECTION[@EXCEPTION='1']">
  322. <xsl:if test="@POS != null">
  323.     <xsl:apply-templates select="../TITLE" />
  324.     <xsl:apply-templates select="../PARA | ../LIST | ../RUNINBLOCK | ../PARACONTINUED | ../SLUG | ../NOTE | ../CODESNIPPET | ../TABULARDATA | ../TESTDATA | ../TABLE | ../TABLE | ../WARNING | ../TIP  | ../SIDEBARBLOCK | ../MSEXAMOBJECTIVE | ../QUOTE | ../COMMENT" />
  325. </xsl:if>
  326.     <xsl:apply-templates select="TITLE" />
  327.     <xsl:apply-templates select="PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE | QUOTE | COMMENT" />
  328. </xsl:template>
  329. <!-- section: end -->
  330.  
  331.  
  332. <!-- section title: begin -->
  333. <xsl:template match="CHAPTER/SECTION/TITLE | CHAPTER/TESTSECTION/TITLE | APPENDIX/SECTION/TITLE | APPENDIX/TESTSECTION/TITLE | INTRODUCTION/SECTION/TITLE | INTRODUCTION/ACKNOWLEDGMENTS/TITLE">
  334. <H3 CLASS="sec1Title"><A NAME="{../@ID}"></A><xsl:apply-templates /></H3>
  335. </xsl:template>
  336.  
  337. <xsl:template match="CHAPTER/SECTION/SECTION/TITLE | CHAPTER/TESTSECTION/TESTSECTION/TITLE | APPENDIX/SECTION/SECTION/TITLE | APPENDIX/TESTSECTION/TESTSECTION/TITLE | INTRODUCTION/SECTION/SECTION/TITLE | CHAPTER/SECTION/TESTSECTION/TITLE">
  338. <H3 CLASS="sec2Title"><A NAME="{../@ID}"></A><xsl:apply-templates /></H3>
  339. </xsl:template>
  340.  
  341. <xsl:template match="CHAPTER/SECTION/SECTION/SECTION/TITLE | APPENDIX/SECTION/SECTION/SECTION/TITLE | INTRODUCTION/SECTION/SECTION/SECTION/TITLE">
  342. <H3 CLASS="sec3Title"><A NAME="{../@ID}"></A><xsl:apply-templates /></H3>
  343. </xsl:template>
  344.  
  345. <xsl:template match="CHAPTER/SECTION/SECTION/SECTION/SECTION/TITLE | APPENDIX/SECTION/SECTION/SECTION/SECTION/TITLE | CHAPTER/SECTION/SECTION/SECTION/SECTION/SECTION/TITLE | CHAPTER/SECTION/SECTION/SECTION/SECTION/SECTION/SECTION/TITLE | INTRODUCTION/SECTION/SECTION/SECTION/SECTION/TITLE">
  346. <H3 CLASS="sec4Title"><A NAME="{../@ID}"></A><xsl:apply-templates /></H3>
  347. </xsl:template>
  348. <!-- section title: end -->
  349.  
  350.  
  351. <!-- EXPLORATIONS and EXPLORATION: begin -->
  352. <xsl:template match="EXPLORATIONS">
  353.     <xsl:apply-templates select="EXPLORATION" />
  354. </xsl:template>
  355.  
  356. <xsl:template match="EXPLORATION">
  357.     <xsl:apply-templates select="TITLE" />
  358.     <xsl:apply-templates select="PARA | LIST | APPLET" />
  359. </xsl:template>
  360.  
  361. <xsl:template match="EXPLORATIONS/EXPLORATION/TITLE">
  362. <H3 CLASS="sec1Title"><xsl:apply-templates /></H3>
  363. </xsl:template>
  364. <!-- EXPLORATIONS and EXPLORATION: end -->
  365.  
  366.  
  367. <!-- Applet: begin -->
  368. <xsl:template match="APPLET">
  369. <APPLET NAME="{@CODE}" CODE="{@CODE}.class" ARCHIVE="<?11?>?sid=<?1003?>&msg=3&file=applets/{@ARCHIVE}" WIDTH="{@WIDTH}" HEIGHT="{@HEIGHT}">
  370. <xsl:if test="@BORDER != null"><xsl:attribute name="BORDER"><xsl:value-of select="@BORDER" /></xsl:attribute></xsl:if>
  371. <xsl:for-each select="PARAM">
  372.     <PARAM NAME="{@NAME}" VALUE="{@VALUE}" />
  373. </xsl:for-each>
  374.     <PARAM NAME="mediabase" VALUE="<?11?>?sid=<?1003?>&msg=3&file=applets/" />
  375. </APPLET>
  376. </xsl:template>
  377. <!-- Applet: end -->
  378.  
  379.  
  380. <!-- msexamobjective: begin -->
  381. <xsl:template match="MSEXAMOBJECTIVE">
  382. <P><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%"><TR><TD BGCOLOR="#000000"><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="1">
  383.  
  384. <TR BGCOLOR="#FFFFFF">
  385.     <TD VALIGN="top" WIDTH="91"><IMG SRC="<?303 media/content/graphics/styles/meo.gif?>" WIDTH="91" HEIGHT="51" BORDER="0" /></TD>
  386.     <TD CLASS="text" VALIGN="top" WIDTH="100%"><xsl:apply-templates select="OBJECTIVEROW" /></TD>
  387. </TR>
  388.  
  389. </TABLE></TD></TR></TABLE></P>
  390. </xsl:template>
  391.  
  392. <xsl:template match="OBJECTIVEROW">
  393. <TABLE CELLPADDING="7" CELLSPACING="0" BORDER="0">
  394.     <xsl:apply-templates select="OBJECTIVE" />
  395. </TABLE>
  396. </xsl:template>
  397.  
  398. <xsl:template match="OBJECTIVEROW/OBJECTIVE">
  399. <TR>
  400.     <TD CLASS="text" VALIGN="top"><B><xsl:apply-templates /></B></TD>
  401. </TR>
  402. </xsl:template>
  403.  
  404. <xsl:template match="OBJECTIVEROW/OBJECTIVE[@HIERARCHY='subordinate']">
  405. <TR>
  406.     <TD CLASS="text" VALIGN="top">
  407.         <UL CLASS="text" TYPE="square">
  408.             <LI CLASS="text"><xsl:apply-templates /></LI>
  409.         </UL>
  410.     </TD>
  411. </TR>
  412. </xsl:template>
  413. <!-- msexamobjective: end -->
  414.  
  415. <!-- runinblock: begin -->
  416. <xsl:template match="RUNINBLOCK | SIDEBARRUNINBLOCK">
  417. <BLOCKQUOTE CLASS="text"><xsl:apply-templates select="RUNINHEAD | SIDEBARRUNINHEAD | RUNINPARA | SIDEBARRUNINPARA | NOTE | LIST | RUNINBLOCK | TABULARDATA | PARA" /></BLOCKQUOTE>
  418. </xsl:template>
  419.  
  420. <xsl:template match="RUNINHEAD | SIDEBARRUNINHEAD">
  421. <B><xsl:apply-templates />     </B>
  422. </xsl:template>
  423.  
  424. <xsl:template match="RUNINPARA | SIDEBARRUNINPARA">
  425. <xsl:apply-templates /><BR/><BR/>
  426. </xsl:template>
  427.  
  428. <!-- <xsl:template match="RUNINBLOCK">
  429. <xsl:for-each select="RUNINPARA">
  430.     <xsl:if test="position()=1"><BLOCKQUOTE CLASS="text"><B><xsl:apply-templates select="../RUNINHEAD" /></B>      <xsl:apply-templates /></BLOCKQUOTE></xsl:if>
  431.     <xsl:if test="position()=2"><BLOCKQUOTE CLASS="text"><xsl:apply-templates /></BLOCKQUOTE></xsl:if>
  432.     <xsl:if test="position()=3"><BLOCKQUOTE CLASS="text"><xsl:apply-templates /></BLOCKQUOTE></xsl:if>
  433. </xsl:for-each>
  434. <xsl:apply-templates select="NOTE | LIST | RUNINBLOCK | TABULARDATA | PARA" />
  435. </xsl:template>
  436.  
  437. <xsl:template match="RUNINBLOCK/LIST | RUNINBLOCK/RUNINBLOCK | RUNINBLOCK/PARA | RUNINBLOCK/TABULARDATA">
  438. <BLOCKQUOTE CLASS="text"><xsl:apply-templates /></BLOCKQUOTE>
  439. </xsl:template> -->
  440. <!-- runinblock: end -->
  441.  
  442.  
  443. <!-- list: begin -->
  444. <xsl:template match="LIST | LIST[@MARK='bullet']">
  445. <UL CLASS="text" TYPE="square">
  446. <xsl:for-each select="LISTITEM | QUESTION | SIDEBARLISTBULLETED">
  447.     <LI CLASS="text"><xsl:apply-templates /></LI>
  448. </xsl:for-each>
  449. </UL>
  450. </xsl:template>
  451.  
  452. <xsl:template match="LIST[@MARK='none']">
  453. <UL CLASS="none">
  454. <xsl:for-each select="LISTITEM">
  455.     <LI CLASS="text"><xsl:apply-templates /></LI>
  456. </xsl:for-each>
  457. </UL>
  458. </xsl:template>
  459.  
  460. <xsl:template match="LIST[@MARK='number']">
  461. <OL CLASS="text" TYPE="1">
  462. <xsl:if test="@START != null"><xsl:attribute name="START"><xsl:value-of select="@START" /></xsl:attribute></xsl:if>
  463. <xsl:for-each select="LISTITEM | SIDEBARLISTNUMBERED">
  464.     <LI CLASS="text"><xsl:apply-templates /></LI>
  465. </xsl:for-each>
  466. </OL>
  467. </xsl:template>
  468.  
  469. <xsl:template match="LIST[@MARK='alpha']">
  470. <OL CLASS="text" TYPE="A">
  471. <xsl:if test="@START != null"><xsl:attribute name="START"><xsl:value-of select="@START" /></xsl:attribute></xsl:if>
  472. <xsl:for-each select="LISTITEM | OPTION">
  473.     <LI CLASS="text"><xsl:apply-templates /></LI>
  474. </xsl:for-each>
  475. </OL>
  476. </xsl:template>
  477. <!-- list: end -->
  478.  
  479.  
  480. <!-- testdata: begin -->
  481. <xsl:template match="TESTDATA">
  482. <OL CLASS="text" TYPE="1">
  483. <xsl:for-each select="TESTBLOCK">
  484.     <LI CLASS="text"><xsl:apply-templates select="QUESTIONBLOCK/QUESTION | QUESTIONBLOCK/LIST | ANSWERBLOCK/ANSWER" /></LI>
  485. </xsl:for-each>
  486. </OL>
  487. <xsl:apply-templates select="TESTDATA/TESTBLOCK/QUESTIONBLOCK/LIST[@MARK='alpha']" />
  488. </xsl:template>
  489. <!-- testdata: end -->
  490.  
  491.  
  492. <!-- image (Jpeg and Gif): begin -->
  493. <xsl:template match="IMAGE | image">
  494. <IMG SRC="<?303 media?>/content/{@SRC}">
  495.  
  496. <xsl:if test="@BORDER != null"><xsl:attribute name="BORDER"><xsl:value-of select="@BORDER" /></xsl:attribute></xsl:if>
  497. <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  498. <xsl:if test="@HEIGHT != null"><xsl:attribute name="HEIGHT"><xsl:value-of select="@HEIGHT" /></xsl:attribute></xsl:if>
  499. <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  500. <xsl:if test="@VSPACE != null"><xsl:attribute name="VSPACE"><xsl:value-of select="@VSPACE" /></xsl:attribute></xsl:if>
  501. <xsl:if test="@HSPACE != null"><xsl:attribute name="HSPACE"><xsl:value-of select="@HSPACE" /></xsl:attribute></xsl:if>
  502.  
  503. </IMG>
  504. </xsl:template>
  505. <!-- image (Jpeg and Gif): end -->
  506.  
  507.  
  508. <!-- math (Gif only): begin -->
  509. <xsl:template match="MATH | math">
  510. <!-- <IMG SRC="<?303 media/content/?>{@SRC}.gif" BORDER="0"> -->
  511. <IMG SRC="<?103?>&course=<?1008?>&file=media/content/{@SRC}.gif">
  512.  
  513. <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  514. <xsl:if test="@HEIGHT != null"><xsl:attribute name="HEIGHT"><xsl:value-of select="@HEIGHT" /></xsl:attribute></xsl:if>
  515. <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  516.  
  517. </IMG>
  518. </xsl:template>
  519. <!-- math (Gif only): end -->
  520.  
  521. <!-- sybexsymbol: begin -->
  522. <xsl:template match="SYBEXSYMBOL">
  523. <span class="symbol"><xsl:apply-templates /></span>
  524. </xsl:template>
  525. <!-- sybexsymbol: end -->
  526.  
  527. <!-- ******     SPECIAL SYMBOLS     ***** -->
  528.  
  529. <!-- times sign -->
  530. <xsl:template match="TIMES">
  531. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(times[browser]);]]></script>
  532. </xsl:template>
  533.  
  534. <!-- divide sign -->
  535. <xsl:template match="DIVIDE">
  536. <xsl:text>÷</xsl:text>
  537. </xsl:template>
  538.  
  539. <!-- difference sign -->
  540. <xsl:template match="MINUS">
  541. <xsl:text>–</xsl:text>
  542. </xsl:template>
  543.  
  544. <!-- non-break space sign -->
  545. <xsl:template match="NBSP">
  546. <xsl:text> </xsl:text>
  547. </xsl:template>
  548.  
  549. <!-- infinity sign -->
  550. <xsl:template match="INFIN">
  551. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(infin[browser]);]]></script>
  552. </xsl:template>
  553.  
  554. <!-- union sign -->
  555. <xsl:template match="CUP">
  556. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(cup[browser]);]]></script>
  557. </xsl:template>
  558.  
  559. <!-- infinity sign -->
  560. <xsl:template match="ANG">
  561. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(ang[browser]);]]></script>
  562. </xsl:template>
  563.  
  564. <!-- plus-minus sign -->
  565. <xsl:template match="PLUSMN">
  566. <span class="symbol">±</span>
  567. </xsl:template>
  568.  
  569. <!-- less-than or equal sign -->
  570. <xsl:template match="LE">
  571. <span class="symbol">£</span>
  572. </xsl:template>
  573.  
  574. <!-- greater-than or equal sign -->
  575. <xsl:template match="GE">
  576. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(ge[browser]);]]></script>
  577. </xsl:template>
  578.  
  579. <!-- less sign -->
  580. <xsl:template match="LT">
  581. <span class="symbol"><</span>
  582. </xsl:template>
  583.  
  584. <!-- more sign -->
  585. <xsl:template match="GT">
  586. <span class="symbol">></span>
  587. </xsl:template>
  588.  
  589. <!-- left arrow sign -->
  590. <xsl:template match="LARR">
  591. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(larr[browser]);]]></script>
  592. </xsl:template>
  593.  
  594. <!-- right arrow sign -->
  595. <xsl:template match="RARR">
  596. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(rarr[browser]);]]></script>
  597. </xsl:template>
  598.  
  599. <!-- tab sign -->
  600. <xsl:template match="TAB">
  601. <xsl:text>    </xsl:text>
  602. </xsl:template>
  603.  
  604. <!-- nearly equal sign -->
  605. <xsl:template match="AP">
  606. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(ap[browser]);]]></script>
  607. </xsl:template>
  608.  
  609. <!-- degree sign -->
  610. <xsl:template match="DGR">
  611. <xsl:text>°</xsl:text>
  612. </xsl:template>
  613.  
  614. <!-- check mark sign -->
  615. <xsl:template match="CHECK">
  616. <IMG SRC="<?303 media/content/?>graphics/0/check<?1006?>.gif" BORDER="0" ALIGN="ABSMIDDLE" />
  617. </xsl:template>
  618.  
  619. <!-- right-pointing angle arrow sign -->
  620. <xsl:template match="ARR">
  621. <IMG SRC="<?303 media/content/?>graphics/0/arr<?1006?>.gif" BORDER="0" ALIGN="ABSMIDDLE" />
  622. </xsl:template>
  623.  
  624. <!-- ************************************************* -->
  625.  
  626.  
  627. <!-- link to xml: begin -->
  628. <xsl:template match="L">
  629. <A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A>
  630. </xsl:template>
  631. <!-- link to xml: end -->
  632.  
  633.  
  634. <!-- tabulardata: begin -->
  635. <xsl:template match="TABULARDATA | QUOTE">
  636. <BLOCKQUOTE CLASS="text">
  637.     <xsl:apply-templates />
  638. </BLOCKQUOTE>
  639. </xsl:template>
  640. <!-- tabulardata: end -->
  641.  
  642.  
  643. <!-- tabularbody: begin -->
  644. <xsl:template match="TABULARBODY">
  645. <TABLE BORDER="0" CELLPADDING="6" CELLSPACING="0">
  646.  
  647. <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  648. <xsl:if test="@HEIGHT != null"><xsl:attribute name="HEIGHT"><xsl:value-of select="@HEIGHT" /></xsl:attribute></xsl:if>
  649. <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  650.  
  651. <xsl:for-each select="TABULARROW">
  652. <TR>
  653.     <xsl:if test="@BGCOLOR != null"><xsl:attribute name="BGCOLOR"><xsl:value-of select="@BGCOLOR" /></xsl:attribute></xsl:if>
  654.     <xsl:for-each select="TABULARENTRY">
  655.     <TD CLASS="text" VALIGN="top">
  656.  
  657. <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  658. <xsl:if test="@HEIGHT != null"><xsl:attribute name="HEIGHT"><xsl:value-of select="@HEIGHT" /></xsl:attribute></xsl:if>
  659. <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  660. <!-- <xsl:if test="@VALIGN != null"><xsl:attribute name="VALIGN"><xsl:value-of select="@VALIGN" /></xsl:attribute></xsl:if> -->
  661. <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  662. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  663.  
  664. <xsl:if test="@REF != null"><A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A></xsl:if>
  665. <xsl:if test="@REF = null"><xsl:apply-templates /></xsl:if>
  666.     
  667.     </TD>
  668.  
  669.     </xsl:for-each>
  670. </TR>
  671. </xsl:for-each>
  672.  
  673. </TABLE>
  674. </xsl:template>
  675. <!-- tabularbody: begin -->
  676.  
  677.  
  678. <!-- table: begin -->
  679. <xsl:template match="TABLE">
  680. <P CLASS="text"><B>TABLE <xsl:value-of select="@NUM" /></B>    <xsl:apply-templates select="TABLETITLE" /></P>
  681. <BLOCKQUOTE CLASS="text">
  682. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="90%">
  683.  
  684. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  685. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%"><TR><TD WIDTH="100%" HEIGHT="2" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD></TR></TABLE>
  686. </TD></TR>
  687.  
  688. <xsl:apply-templates select="TABLEHEAD" />
  689.  
  690. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  691. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%"><TR><TD WIDTH="100%" HEIGHT="1" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="1" BORDER="0" /></TD></TR></TABLE>
  692. </TD></TR>
  693.  
  694. <xsl:apply-templates select="TABLEBODY" />
  695.  
  696. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  697. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%"><TR><TD WIDTH="100%" HEIGHT="2" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD></TR></TABLE>
  698. </TD></TR>
  699.  
  700. </TABLE>
  701. </BLOCKQUOTE>
  702. </xsl:template>
  703.  
  704. <xsl:template match="TABLEHEAD">
  705. <TR>
  706.     <xsl:for-each select="TABLEROW/TABLEENTRY">
  707.     <TD CLASS="text">
  708.     <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  709.     <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  710. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  711.         <NOBR><B><xsl:apply-templates /></B></NOBR>
  712.     </TD>
  713.     </xsl:for-each>
  714. </TR>
  715. </xsl:template>
  716.  
  717. <xsl:template match="TABLEBODY">
  718. <xsl:for-each select="TABLEROW">
  719. <TR>
  720.     <xsl:for-each select="TABLEENTRY">
  721.     <TD CLASS="text" VALIGN="top">
  722.     <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  723.     <xsl:if test="@VALIGN != null"><xsl:attribute name="VALIGN"><xsl:value-of select="@VALIGN" /></xsl:attribute></xsl:if>
  724.     <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  725.     <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  726. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  727.     <xsl:apply-templates />
  728.     </TD>
  729.     </xsl:for-each>
  730. </TR>
  731. </xsl:for-each>
  732. </xsl:template>
  733. <!-- table: end -->
  734.  
  735. <!-- table[border='0']: begin -->
  736. <xsl:template match="TABLE[@MODE='nobord']">
  737.  
  738. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="80%">
  739. <xsl:apply-templates select="HEAD" />
  740. <xsl:apply-templates select="BODY" />
  741. </TABLE>
  742.  
  743. </xsl:template>
  744.  
  745. <xsl:template match="HEAD">
  746. <xsl:for-each select="ROW">
  747. <TR>
  748.     <xsl:for-each select="CELL">
  749.     <TD CLASS="text" VALIGN="top">
  750.     <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  751.     <xsl:if test="@VALIGN != null"><xsl:attribute name="VALIGN"><xsl:value-of select="@VALIGN" /></xsl:attribute></xsl:if>
  752.     <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  753.     <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  754. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  755.     <NOBR><UL CLASS="text" TYPE="square"><LI CLASS="text"><xsl:apply-templates /></LI></UL></NOBR>
  756.     </TD>
  757.     </xsl:for-each>
  758. </TR>
  759. </xsl:for-each>
  760. </xsl:template>
  761.  
  762. <xsl:template match="BODY">
  763. <xsl:for-each select="ROW">
  764. <TR>
  765.     <xsl:for-each select="CELL">
  766.     <TD CLASS="text" VALIGN="top">
  767.     <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  768.     <xsl:if test="@VALIGN != null"><xsl:attribute name="VALIGN"><xsl:value-of select="@VALIGN" /></xsl:attribute></xsl:if>
  769.     <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  770.     <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  771. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  772.     <NOBR><UL CLASS="text" TYPE="square"><LI CLASS="text"><xsl:apply-templates /></LI></UL></NOBR>
  773.     </TD>
  774.     </xsl:for-each>
  775. </TR>
  776. </xsl:for-each>
  777. </xsl:template>
  778. <!-- table[border='0']:: end -->
  779.  
  780. <!-- tableb: begin -->
  781. <xsl:template match="TABLEB">
  782. <P CLASS="text"><B>TABLE <xsl:value-of select="@NUM" /></B>    <xsl:apply-templates select="TABLETITLE" /></P>
  783. <BLOCKQUOTE CLASS="text">
  784. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="90%">
  785.  
  786. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  787. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%"><TR><TD WIDTH="100%" HEIGHT="2" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD></TR></TABLE>
  788. </TD></TR>
  789.  
  790. <xsl:apply-templates select="TABLEBODY" />
  791.  
  792. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  793. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%"><TR><TD WIDTH="100%" HEIGHT="2" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD></TR></TABLE>
  794. </TD></TR>
  795.  
  796. </TABLE>
  797. </BLOCKQUOTE>
  798. </xsl:template>
  799. <!-- tableb: end -->
  800.  
  801. <!-- sidebarblock: begin -->
  802. <xsl:template match="SIDEBARBLOCK">
  803. <BLOCKQUOTE CLASS="text">
  804. <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR><TD>
  805.     <TABLE CELLPADDING="1" CELLSPACING="0" BORDER="0" BGCOLOR="#000000"><TR><TD>
  806.         <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" BGCOLOR="#FFFFFF">
  807.             <TR><TD BGCOLOR="#BDBDBD">
  808.                 <TABLE CELLPADDING="4" CELLSPACING="0" BORDER="0">
  809.                     <TR><TD CLASS="text"><B><xsl:apply-templates select="SIDEBARTITLE" /></B></TD></TR>
  810.                 </TABLE>
  811.             </TD></TR>
  812.             <TR><TD>
  813.                 <TABLE CELLPADDING="4" CELLSPACING="0" BORDER="0">
  814.                     <TR><TD><xsl:apply-templates select="SIDEBAR | CODESNIPPET | SIDEBARCODESNIPPET | SIDEBARLIST | LIST | SIDEBARRUNINBLOCK | SLUG" /></TD></TR>
  815.                 </TABLE>
  816.             </TD></TR>
  817.         </TABLE>
  818.     </TD></TR></TABLE>
  819. </TD></TR></TABLE>
  820. </BLOCKQUOTE>
  821. </xsl:template>
  822.  
  823. <xsl:template match="SIDEBARLIST">
  824. <BLOCKQUOTE CLASS="text"><xsl:apply-templates /></BLOCKQUOTE>
  825. </xsl:template>
  826. <!-- sidebarblock: end -->
  827.  
  828.  
  829. <!-- audio: begin -->
  830. <!-- <xsl:template match="AUDIO">
  831.     <TD VALIGN="top"><A HREF="javascript:playSound('sound{REAL/@NAME}');" onmouseout="javascript:imageObjectChange('sound{REAL/@NAME}Icon','soundImage','Out'); top.status=''; return true;" onmouseover="javascript:imageObjectChange('sound{REAL/@NAME}Icon','soundImage','Over'); top.status='Play/Pause narration'; return true;" onmousedown="javascript:imageObjectChange('sound{REAL/@NAME}Icon','soundImage','Down');" onmouseup="javascript:imageObjectChange('sound{REAL/@NAME}Icon','soundImage','Over');"><IMG NAME="sound{REAL/@NAME}Icon" SRC="<?303 media/content/graphics/styles/soundout.gif?>" WIDTH="22" HEIGHT="22" BORDER="0" ALT="Play/Pause narration" /></A><SPAN STYLE="visibility:hidden;"><OBJECT ID="sound{REAL/@NAME}" CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" WIDTH="0" HEIGHT="0"><PARAM NAME="SRC" VALUE="<?303 media?>/content/{REAL/@SRC}" /><PARAM NAME="AUTOSTART" VALUE="{REAL/@AUTOSTART}" /><EMBED TYPE="audio/x-pn-realaudio-plugin" SRC="<?303 media?>/content/{REAL/@SRC}" HEIGHT="0" WIDTH="0" NAME="sound{REAL/@NAME}" AUTOSTART="{REAL/@AUTOSTART}" SWLIVECONNECT="true" /></OBJECT></SPAN></TD>
  832. </xsl:template> -->
  833. <!-- audio: end -->
  834.  
  835.  
  836. <!-- exerciseblock: begin -->
  837. <xsl:template match="EXERCISEBLOCK[@MODE='text']">
  838. <P><TABLE CELLPADDING="4" CELLSPACING="0" BORDER="0" BGCOLOR="#000000" WIDTH="100%"><TR>
  839. <xsl:choose>
  840. <xsl:when test="@TIP='lab'">
  841. <TD CLASS="whitetext"> LAB <xsl:value-of select="@NUM" /></TD>
  842. </xsl:when>
  843. <xsl:otherwise>
  844. <TD CLASS="whitetext"> EXERCISE <xsl:value-of select="@NUM" /></TD>
  845. </xsl:otherwise>
  846. </xsl:choose>
  847. <!-- <TD CLASS="whitetext"> EXERCISE <xsl:value-of select="@NUM" /></TD> -->
  848. </TR></TABLE></P>
  849. <BLOCKQUOTE CLASS="text">
  850. <P><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">
  851. <TR>
  852. <!-- <xsl:apply-templates select="AUDIO" />
  853.     <TD VALIGN="top"> </TD> -->
  854.     <TD VALIGN="top"><H3 CLASS="exeTitle"><xsl:apply-templates select="EXERCISETITLE" /></H3></TD>
  855. </TR>
  856. </TABLE></P>
  857. <xsl:apply-templates select="EXERCISE | EXERCISETITLESUB | EXERCISELIST | EXERCISELISTPARA | PARA" />
  858. </BLOCKQUOTE>
  859. <P><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" BGCOLOR="#000000" WIDTH="100%"><TR>
  860. <TD><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="1" BORDER="0" /></TD>
  861. </TR></TABLE></P>
  862. </xsl:template>
  863.  
  864. <xsl:template match="EXERCISETITLESUB">
  865. <H3 CLASS="exeSubTitle"><xsl:apply-templates /></H3>
  866. </xsl:template>
  867.  
  868. <xsl:template match="EXERCISELIST[@MARK='number']">
  869. <OL CLASS="text" TYPE="1">
  870. <xsl:if test="@START != null"><xsl:attribute name="START"><xsl:value-of select="@START" /></xsl:attribute></xsl:if>
  871. <xsl:for-each select="EXERCISELISTNUMBERED">
  872.     <LI CLASS="text"><P><xsl:apply-templates /></P></LI>
  873. </xsl:for-each>
  874. </OL>
  875. </xsl:template>
  876.  
  877. <xsl:template match="EXERCISELISTPARA">
  878. <UL CLASS="none">
  879.     <LI CLASS="text"><xsl:apply-templates /></LI>
  880. </UL>
  881. </xsl:template>
  882. <!-- exerciseblock: begin -->
  883.  
  884.  
  885. <!-- exerciseblock with flash: begin -->
  886. <xsl:template match="EXERCISEBLOCK">
  887. <xsl:variable name="num"><xsl:value-of select="@NUM"/></xsl:variable>
  888. <P><TABLE CELLPADDING="4" CELLSPACING="0" BORDER="0" BGCOLOR="#000000" WIDTH="100%"><TR>
  889. <TD CLASS="whitetext"> EXERCISE <xsl:value-of select="@NUM" /></TD>
  890. </TR></TABLE></P>
  891. <P><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">
  892. <TR>
  893. <!-- <xsl:apply-templates select="AUDIO" />
  894.     <TD VALIGN="top"> </TD> -->
  895.     <TD VALIGN="top"><H3 CLASS="exeTitle"><xsl:apply-templates select="EXERCISETITLE" /></H3></TD>
  896. </TR>
  897. </TABLE></P>
  898. <xsl:apply-templates select="EXERCISE | EXERCISETITLESUB | EXERCISELIST | EXERCISELISTPARA | PARA | TABLE | LIST" />
  899. <xsl:if test="$num!=null"><P><xsl:apply-templates select="/CHAPTER/EXECOL/EXE[@NUM=$num] | /APPENDIX/EXECOL/EXE[@NUM=$num]" /></P></xsl:if>
  900. </xsl:template>
  901.  
  902. <xsl:template match="EXE">
  903. <xsl:apply-templates select="FLASH" />
  904. <xsl:apply-templates select="WARNING" />
  905. </xsl:template>
  906. <!-- exerciseblock with flash: begin -->
  907.  
  908. <!-- casestudy: begin -->
  909. <xsl:template match="SECTION[@CASESTUDY] | SECTION[@CASESTUDY]/SECTION/SECTION">
  910. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="100%" BGCOLOR="#EFEFEF">
  911. <TR>
  912.     <TD WIDTH="40" BGCOLOR="#AFAFAF" VALIGN="top"><IMG SRC="<?303 media/content/graphics/0/casestady.gif?>" WIDTH="24" HEIGHT="200" BORDER="0" /></TD>
  913.     <TD WIDTH="100%" VALIGN="top">
  914.         <xsl:apply-templates select="TITLE" />
  915.         <xsl:apply-templates select="SECTION | PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE" />
  916.     </TD>
  917. </TR>
  918. </TABLE>
  919. </xsl:template>
  920.  
  921. <xsl:template match="SECTION[@CASESTUDY]/SECTION">
  922. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="100%" BGCOLOR="#EFEFEF">
  923. <TR>
  924.     <TD WIDTH="40" BGCOLOR="#AFAFAF" VALIGN="top"><IMG SRC="<?303 media/content/graphics/0/casestady.gif?>" WIDTH="24" HEIGHT="200" BORDER="0" /></TD>
  925.     <TD WIDTH="100%" VALIGN="top">
  926. <xsl:if test="@POS != null">
  927.     <xsl:apply-templates select="../TITLE" />
  928.     <xsl:apply-templates select="../PARA | ../LIST | ../RUNINBLOCK | ../PARACONTINUED | ../SLUG | ../NOTE | ../CODESNIPPET | ../TABULARDATA | ../TESTDATA | ../TABLE | ../TABLEB | ../WARNING | ../TIP | ../SIDEBARBLOCK | ../MSEXAMOBJECTIVE" />
  929. </xsl:if>
  930.         <xsl:apply-templates select="TITLE" />
  931.         <xsl:apply-templates select="SECTION | PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE" />
  932.     </TD>
  933. </TR>
  934. </TABLE>
  935. </xsl:template>
  936. <!-- casestudy: end -->
  937.  
  938.  
  939. <!-- slug: begin -->
  940. <xsl:template match="SLUG">
  941. <xsl:variable name="num"><xsl:value-of select="@NUM"/></xsl:variable>
  942. <xsl:variable name="nonum"><xsl:value-of select="@NONUM"/></xsl:variable>
  943. <xsl:if test="$num!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@NUM=$num] | /APPENDIX/FIGCOL/FIG[@NUM=$num]" /></xsl:if>
  944. <xsl:if test="$nonum!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@NONUM=$nonum] | /APPENDIX/FIGCOL/FIG[@NONUM=$nonum]" /></xsl:if>
  945. </xsl:template>
  946.  
  947. <xsl:template match="LISTITEM/SLUG | EXERCISELISTNUMBERED/SLUG">
  948. <xsl:variable name="num"><xsl:value-of select="@NUM"/></xsl:variable>
  949. <xsl:variable name="nonum"><xsl:value-of select="@NONUM"/></xsl:variable>
  950. <xsl:if test="$num!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@NUM=$num] | /APPENDIX/FIGCOL/FIG[@NUM=$num]" mode="listitem" /></xsl:if>
  951. <xsl:if test="$nonum!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@NONUM=$nonum] | /APPENDIX/FIGCOL/FIG[@NONUM=$nonum]" mode="listitem" /></xsl:if>
  952. </xsl:template>
  953.  
  954. <xsl:template match="FIG">
  955. <BLOCKQUOTE CLASS="text">
  956. <B>Figure <xsl:value-of select="@NUM" /></B>    <xsl:apply-templates select="P" />
  957. <xsl:apply-templates select="ILL" />
  958. </BLOCKQUOTE>
  959. </xsl:template>
  960.  
  961. <xsl:template match="FIG[@NONUM]">
  962. <center>
  963. <xsl:apply-templates select="ILL" />
  964. </center>
  965. </xsl:template>
  966.  
  967. <!-- <xsl:template match="FIG[@NONUM]/ILL">
  968. <center><xsl:apply-templates /></center>
  969. </xsl:template> -->
  970.  
  971. <xsl:template match="FIG" mode="listitem">
  972. <P CLASS="text">
  973. <B>Figure <xsl:value-of select="@NUM" /></B>    <xsl:apply-templates select="P" />
  974. <xsl:apply-templates select="ILL" />
  975. </P>
  976. </xsl:template>
  977.  
  978. <xsl:template match="FIG[@NONUM]" mode="listitem">
  979. <P CLASS="text">
  980. <xsl:apply-templates select="ILL" />
  981. </P>
  982. </xsl:template>
  983.  
  984. <xsl:template match="FIG/P">
  985. <xsl:apply-templates />
  986. </xsl:template>
  987.  
  988. <xsl:template match="ILL">
  989. <TABLE CELLPADDING="1" CELLSPACING="0" BORDER="0" BGCOLOR="#000000"><TR><TD><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" BGCOLOR="#FFFFFF"><TR><!-- illustration -->
  990.     <TD><xsl:apply-templates /></TD>
  991. </TR></TABLE></TD></TR></TABLE>
  992. </xsl:template>
  993.  
  994.  
  995.  
  996. <xsl:template match="ILL[@MODE='wlab']">
  997. <BR/><xsl:apply-templates /><BR/>
  998. </xsl:template>
  999.  
  1000. <xsl:template match="ILL[IMAGE]">
  1001. <BR/><xsl:apply-templates /><BR/>
  1002. </xsl:template>
  1003. <!-- slug: end -->
  1004.  
  1005. <!-- animation: begin -->
  1006. <xsl:template match="ANIMATION">
  1007. <xsl:variable name="id"><xsl:value-of select="@ID"/></xsl:variable>
  1008. <xsl:if test="$id!=null"><xsl:apply-templates select="/CHAPTER/ANIMACOL/ANIMA[@ID=$id]" /></xsl:if>
  1009. </xsl:template>
  1010.  
  1011. <xsl:template match="ANIMA">
  1012. <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" WIDTH="100%">
  1013. <TR>
  1014.     <TD ALIGN="left" VALIGN="top"><H3 CLASS="sec2Title"><xsl:apply-templates select="TITLE" /></H3></TD>
  1015.     <TD> </TD>
  1016.     <TD ALIGN="right" VALIGN="top"><A HREF="javascript:loadMovie('<?103?>&course=<?1008?>&file=media/content/{ILL/FLASH/@SRC}',{ILL/FLASH/@WIDTH},{ILL/FLASH/@HEIGHT});" onmouseout="javascript:imageObjectChange('zoomIcon','zoomImage','Out'); top.status=''; return true;" onmouseover="javascript:imageObjectChange('zoomIcon','zoomImage','Over'); top.status='Enlarge'; return true;" onmousedown="javascript:imageObjectChange('zoomIcon','zoomImage','Down');" onmouseup="javascript:imageObjectChange('zoomIcon','zoomImage','Over');"><IMG NAME="zoomIcon" SRC="<?303 media/content/graphics/styles/zoomout.gif?>" WIDTH="18" HEIGHT="18" BORDER="0" ALT="Enlarge" /></A></TD>
  1017. </TR>
  1018. </TABLE>
  1019. <xsl:apply-templates select="ILL/FLASH" />
  1020. </xsl:template>
  1021. <!-- animation: end -->
  1022.  
  1023.  
  1024. <!-- flash: begin -->
  1025. <xsl:template match="FLASH | flash">
  1026. <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ID="FLASH" CODEBASE="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" WIDTH="{@WIDTH}" HEIGHT="{@HEIGHT}" BORDER="0">
  1027.     <PARAM NAME="MOVIE" VALUE="<?303 media?>/content/{@SRC}" />
  1028.     <PARAM NAME="LOOP" VALUE="{@LOOP}" />
  1029.     <PARAM NAME="MENU" VALUE="{@MENU}" />
  1030.     <PARAM NAME="QUALITY" VALUE="{@QUALITY}" />
  1031.     <PARAM NAME="BGCOLOR" VALUE="{@BGCOLOR}" />
  1032. <EMBED NAME="FLASH" WIDTH="{@WIDTH}" HEIGHT="{@HEIGHT}" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" SRC="<?303 media?>/content/{@SRC}" BORDER="0" LOOP="{@LOOP}" MENU="{@MENU}" QUALITY="{@QUALITY}" BGCOLOR="{@BGCOLOR}" SWLIVECONNECT="true" />
  1033. </OBJECT>
  1034. </xsl:template>
  1035. <!-- flash: end -->
  1036.  
  1037.  
  1038. <!-- note: begin -->
  1039. <xsl:template match="NOTE">
  1040. <P><TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BORDER="0" BGCOLOR="#CFCFCF">
  1041. <TR><TD WIDTH="100%" CLASS="text" VALIGN="top">
  1042.  
  1043.     <TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" HEIGHT="2" BORDER="0" BGCOLOR="#0000FF"><TR WIDTH="100%" HEIGHT="2" BGCOLOR="#0000FF"><TD WIDTH="100%" HEIGHT="2" BGCOLOR="#0000FF"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD></TR></TABLE>
  1044.  
  1045.     <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR>
  1046.         <TD VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/note.gif?>" WIDTH="49" HEIGHT="38" BORDER="0" /></TD>
  1047.         <TD>
  1048.             <TABLE CELLPADDING="13" CELLSPACING="0" BORDER="0"><TR><TD CLASS="text">
  1049.                 <xsl:apply-templates />
  1050.             </TD></TR></TABLE>
  1051.         </TD>
  1052.     </TR></TABLE>
  1053.  
  1054. </TD></TR></TABLE></P>
  1055. </xsl:template>
  1056. <!-- note: end -->
  1057.  
  1058.  
  1059. <!-- tip: begin -->
  1060. <xsl:template match="TIP">
  1061. <P><TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BORDER="0" BGCOLOR="#CFCFCF">
  1062. <TR><TD WIDTH="100%" CLASS="text" VALIGN="top">
  1063.  
  1064.     <TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" HEIGHT="2" BORDER="0" BGCOLOR="#000000"><TR WIDTH="100%" HEIGHT="2" BGCOLOR="#000000"><TD WIDTH="100%" HEIGHT="2" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD></TR></TABLE>
  1065.  
  1066.     <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR>
  1067.         <TD VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/tip.gif?>" WIDTH="49" HEIGHT="38" BORDER="0" /></TD>
  1068.         <TD>
  1069.             <TABLE CELLPADDING="13" CELLSPACING="0" BORDER="0"><TR><TD CLASS="text">
  1070.                 <xsl:apply-templates />
  1071.             </TD></TR></TABLE>
  1072.         </TD>
  1073.     </TR></TABLE>
  1074.  
  1075. </TD></TR></TABLE></P>
  1076. </xsl:template>
  1077. <!-- tip: end -->
  1078.  
  1079.  
  1080. <!-- warning: begin -->
  1081. <xsl:template match="WARNING">
  1082. <P><TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BORDER="0" BGCOLOR="#CFCFCF">
  1083. <TR><TD WIDTH="100%" CLASS="text" VALIGN="top">
  1084.  
  1085.     <TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" HEIGHT="2" BORDER="0" BGCOLOR="#BF0000"><TR WIDTH="100%" HEIGHT="2" BGCOLOR="#BF0000"><TD WIDTH="100%" HEIGHT="2" BGCOLOR="#BF0000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD></TR></TABLE>
  1086.  
  1087.     <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR>
  1088.         <TD VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/warning.gif?>" WIDTH="58" HEIGHT="38" BORDER="0" /></TD>
  1089.         <TD>
  1090.             <TABLE CELLPADDING="13" CELLSPACING="0" BORDER="0"><TR><TD CLASS="text">
  1091.                 <xsl:apply-templates />
  1092.             </TD></TR></TABLE>
  1093.         </TD>
  1094.     </TR></TABLE>
  1095.  
  1096. </TD></TR></TABLE></P>
  1097. </xsl:template>
  1098. <!-- warning: end -->
  1099.  
  1100. <!-- codesnippet: begin -->
  1101. <xsl:template match="CODESNIPPET">
  1102. <BLOCKQUOTE><TABLE CELLPADDING="6" CELLSPACING="0" BORDER="0" WIDTH="580" BGCOLOR="#333333"><TR>
  1103. <TD>
  1104. <PRE>
  1105.     <xsl:apply-templates />
  1106. </PRE>
  1107. </TD>
  1108. </TR></TABLE></BLOCKQUOTE>
  1109. </xsl:template>
  1110.  
  1111. <xsl:template match="SIDEBARCODESNIPPET">
  1112. <BLOCKQUOTE>
  1113. <PRE CLASS="pre_black">
  1114.     <xsl:apply-templates />
  1115. </PRE>
  1116. </BLOCKQUOTE>
  1117. </xsl:template>
  1118.  
  1119. <xsl:template match="LISTITEM/CODESNIPPET">
  1120. <P><TABLE CELLPADDING="6" CELLSPACING="0" BORDER="0" WIDTH="580" BGCOLOR="#333333"><TR>
  1121. <TD>
  1122. <PRE>
  1123.     <xsl:apply-templates />
  1124. </PRE>
  1125. </TD>
  1126. </TR></TABLE></P>
  1127. </xsl:template>
  1128.  
  1129. <xsl:template match="CODELINE">
  1130. <xsl:apply-templates />
  1131. </xsl:template>
  1132. <!-- codesnippet: end -->
  1133.  
  1134.  
  1135. <!-- ANSWERBLOCK/ANSWER: begin -->
  1136. <xsl:template match="ANSWERBLOCK/ANSWER">
  1137. <P CLASS="text">
  1138.     <xsl:apply-templates />
  1139.     <xsl:apply-templates select="../../EXPLANATION" />
  1140. </P>
  1141. </xsl:template>
  1142. <!-- ANSWERBLOCK/ANSWER: end -->
  1143.  
  1144.  
  1145. <!-- paragraph: begin -->
  1146. <xsl:template match="P | PARA |PARACONTINUED | QUESTIONBLOCK/QUESTION | SIDEBAR | EXERCISE">
  1147. <xsl:variable name="br"><xsl:value-of select="@BR" /></xsl:variable>
  1148. <P CLASS="text">
  1149.     <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  1150.     <xsl:if test="@align != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@align" /></xsl:attribute></xsl:if>
  1151.  
  1152.     <xsl:if test="@REF != null">
  1153.     <A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A>
  1154.     </xsl:if>
  1155.  
  1156.     <xsl:if test="@REF = null">
  1157.     <xsl:apply-templates />
  1158.     </xsl:if>
  1159.     
  1160.     <xsl:if test="$br!=null"><BR CLEAR="{$br}" /></xsl:if>
  1161. </P>
  1162. </xsl:template>
  1163. <!-- paragraph: end -->
  1164.  
  1165.  
  1166. <!-- times italic font -->
  1167. <xsl:template match="TI | ti">
  1168. <SPAN CLASS="timesItalic"><xsl:apply-templates /></SPAN>
  1169. </xsl:template>
  1170.  
  1171. <xsl:template match="HLIGHT | hlight">
  1172. <SPAN STYLE="color:{@COLOR};"><xsl:apply-templates /></SPAN>
  1173. </xsl:template>
  1174.  
  1175. <xsl:template match="SYMBOL | symbol">
  1176. <SPAN CLASS="symbol"><xsl:apply-templates /></SPAN>
  1177. </xsl:template>
  1178.  
  1179. <xsl:template match="CHAPTER/PARA/DROPCAP | APPENDIX/PARA/DROPCAP | INTRODUCTION/PARA/DROPCAP">
  1180. <SPAN STYLE="font-size:300%; font-weight:600;"><xsl:apply-templates /></SPAN>
  1181. </xsl:template>
  1182.  
  1183. <xsl:template match="CHAPTER/SECTION/PARA/DROPCAP | APPENDIX/SECTION/PARA/DROPCAP | INTRODUCTION/SECTION/PARA/DROPCAP | INTRODUCTION/ACKNOWLEDGMENTS/PARA/DROPCAP">
  1184. <SPAN STYLE="font-size:200%; font-weight:600;"><xsl:apply-templates /></SPAN>
  1185. </xsl:template>
  1186.  
  1187. <xsl:template match="BIG | big">
  1188. <SPAN CLASS="big"><xsl:apply-templates /></SPAN>
  1189. </xsl:template>
  1190.  
  1191. <xsl:template match="SMALL | small">
  1192. <SPAN CLASS="small"><xsl:apply-templates /></SPAN>
  1193. </xsl:template>
  1194.  
  1195. <xsl:template match="COMMENT">
  1196. <BLOCKQUOTE>
  1197. <SPAN STYLE="COLOR:#000000; FONT-FAMILY:ARIAL,SANS-SERIF; FONT-WEIGHT:400; FONT-SIZE:10PX;"><xsl:apply-templates /></SPAN>
  1198. </BLOCKQUOTE>
  1199. </xsl:template>
  1200.  
  1201. <xsl:template match="LEFT | left">
  1202. <LEFT><xsl:apply-templates /></LEFT>
  1203. </xsl:template>
  1204.  
  1205. <xsl:template match="CENTER | center">
  1206. <CENTER><xsl:apply-templates /></CENTER>
  1207. </xsl:template>
  1208.  
  1209. <xsl:template match="RIGHT | right">
  1210. <RIGHT><xsl:apply-templates /></RIGHT>
  1211. </xsl:template>
  1212.  
  1213. <xsl:template match="INLINECODE | INLINEURL">
  1214. <xsl:if test="@HREF != null">
  1215. <A HREF="{@HREF}">
  1216.     <xsl:if test="@SHOW != null">
  1217.         <xsl:if test="@SHOW = 'new'">
  1218.             <xsl:attribute name="TARGET">_blank</xsl:attribute>
  1219.         </xsl:if>
  1220.     </xsl:if>
  1221.     <SPAN CLASS="courier"><xsl:apply-templates /></SPAN>
  1222. </A>
  1223. </xsl:if>
  1224. <xsl:if test="@HREF = null">
  1225.     <SPAN CLASS="courier"><xsl:apply-templates />
  1226. </SPAN></xsl:if>
  1227. </xsl:template>
  1228.  
  1229. <xsl:template match="USERINPUT">
  1230. <xsl:if test="@HREF != null">
  1231. <A HREF="{@HREF}">
  1232.     <xsl:if test="@SHOW != null">
  1233.         <xsl:if test="@SHOW = 'new'">
  1234.             <xsl:attribute name="TARGET">_blank</xsl:attribute>
  1235.         </xsl:if>
  1236.     </xsl:if>
  1237.     <SPAN CLASS="courier"><xsl:apply-templates /></SPAN>
  1238. </A>
  1239. </xsl:if>
  1240. <xsl:if test="@HREF = null">
  1241.     <SPAN CLASS="courier"><B><xsl:apply-templates /></B></SPAN></xsl:if>
  1242. </xsl:template>
  1243.  
  1244.  
  1245. <xsl:template match="INLINECODEVARIABLE">
  1246. <SPAN CLASS="courier"><I><xsl:apply-templates /></I></SPAN>
  1247. </xsl:template>
  1248.  
  1249. <xsl:template match="INLINECODEUSERINPUTVARIABLE">
  1250. <SPAN CLASS="courier"><I><B><xsl:apply-templates /></B></I></SPAN>
  1251. </xsl:template>
  1252.  
  1253. <xsl:template match="SUP | sup | SUPERSCRIPT">
  1254. <SUP><xsl:apply-templates /></SUP>
  1255. </xsl:template>
  1256.  
  1257. <xsl:template match="INLINECODEUSERINPUT">
  1258. <SPAN CLASS="courier"><B><xsl:apply-templates /></B></SPAN>
  1259. </xsl:template>
  1260.  
  1261. <xsl:template match="CODELINE/INLINECODEUSERINPUT">
  1262. <B><xsl:apply-templates /></B>
  1263. </xsl:template>
  1264.  
  1265. <xsl:template match="SUB | sub">
  1266. <SUB><xsl:apply-templates /></SUB>
  1267. </xsl:template>
  1268.  
  1269. <xsl:template match="B | b | EMPHASIS[@FORMAT='bold']">
  1270. <B><xsl:apply-templates /></B>
  1271. </xsl:template>
  1272.  
  1273. <xsl:template match="I | i | KEYTERM | EMPHASIS | EMPHASIS[@FORMAT='italic'] | VARIABLE">
  1274. <I>
  1275. <xsl:if test="@REF != null">
  1276.     <A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A>
  1277. </xsl:if>
  1278. <xsl:if test="@REF = null">
  1279.     <xsl:apply-templates />
  1280. </xsl:if>
  1281. </I>
  1282. </xsl:template>
  1283.  
  1284. <xsl:template match="EMPHASIS[@FORMAT='bolditalic'] | USERINPUTVARIABLE">
  1285. <B><I><xsl:apply-templates /></I></B>
  1286. </xsl:template>
  1287.  
  1288. <xsl:template match="U | u">
  1289. <U><xsl:apply-templates /></U>
  1290. </xsl:template>
  1291.  
  1292. <xsl:template match="PRE | pre">
  1293. <PRE><xsl:apply-templates /></PRE>
  1294. </xsl:template>
  1295.  
  1296. <xsl:template match="BR | br">
  1297. <BR>
  1298. <xsl:if test="@CLEAR != null"><xsl:attribute name="CLEAR"><xsl:value-of select="@CLEAR" /></xsl:attribute></xsl:if>
  1299. <xsl:if test="@clear != null"><xsl:attribute name="CLEAR"><xsl:value-of select="@clear" /></xsl:attribute></xsl:if>
  1300. </BR>
  1301. </xsl:template>
  1302.  
  1303. <xsl:template match="NOBR | nobr">
  1304. <NOBR>
  1305.     <xsl:if test="@REF != null"><A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A></xsl:if>
  1306.     <xsl:if test="@REF = null"><xsl:apply-templates /></xsl:if>
  1307. </NOBR>
  1308. </xsl:template>
  1309.  
  1310. <xsl:template match="BORDER">
  1311.     <div CLASS="bordB" STYLE="width:{@WIDTH};"></div>
  1312. </xsl:template>
  1313.  
  1314. <!-- <xsl:template match="BORDERB">
  1315.     <div CLASS="bordB" STYLE="width:{@WIDTH};"></div>
  1316. </xsl:template>
  1317.  
  1318. <xsl:template match="BORDERT">
  1319.     <div CLASS="bordT" STYLE="width:{@WIDTH};"></div>
  1320. </xsl:template> -->
  1321.  
  1322. <xsl:template match="BORDERB"><!-- border bold -->
  1323.     <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="{@WIDTH}"><TR><TD WIDTH="100%" HEIGHT="2" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="2" BORDER="0" /></TD></TR></TABLE>
  1324. </xsl:template>
  1325.  
  1326. <xsl:template match="BORDERT"><!-- border think -->
  1327.     <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="{@WIDTH}"><TR><TD WIDTH="100%" HEIGHT="1" BGCOLOR="#000000"><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="1" BORDER="0" /></TD></TR></TABLE>
  1328. </xsl:template>
  1329.  
  1330.  
  1331.  
  1332.  
  1333. </xsl:stylesheet>