home *** CD-ROM | disk | FTP | other *** search
/ Sybex Virtual Trainer CCNP Switching / Sybex_Virtual_Trainer_CCNP_Switching.iso / ccnp2711 / media / content / xmlbody.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2001-03-28  |  51.3 KB  |  1,321 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="#FFFFFF" 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 | CODELISTING | 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 | CODELISTING | 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 | ../CODELISTING | ../TABULARDATA | ../TESTDATA | ../TABLE | ../TABLEB | ../WARNING | ../TIP | ../SIDEBARBLOCK | ../MSEXAMOBJECTIVE | ../QUOTE | ../COMMENT | ../EXERCISEBLOCK" />
  308. </xsl:if>
  309.     <xsl:apply-templates select="TITLE" />
  310.     <xsl:apply-templates select="SECTION | PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | CODELISTING | 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 | CODELISTING | 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 | ../CODELISTING | ../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 | CODELISTING | 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.  
  429. <!-- list: begin -->
  430. <xsl:template match="LIST | LIST[@MARK='bullet']">
  431. <UL CLASS="text" TYPE="square">
  432. <xsl:for-each select="LISTITEM | QUESTION | SIDEBARLISTBULLETED">
  433.     <LI CLASS="text"><xsl:apply-templates /></LI>
  434. </xsl:for-each>
  435. </UL>
  436. </xsl:template>
  437.  
  438. <xsl:template match="LIST[@MARK='none']">
  439. <UL CLASS="none">
  440. <xsl:for-each select="LISTITEM | SIDEBARLIST">
  441.     <LI CLASS="text"><xsl:apply-templates /></LI>
  442. </xsl:for-each>
  443. </UL>
  444. </xsl:template>
  445.  
  446. <xsl:template match="LIST[@MARK='number']">
  447. <OL CLASS="text" TYPE="1">
  448. <xsl:if test="@START != null"><xsl:attribute name="START"><xsl:value-of select="@START" /></xsl:attribute></xsl:if>
  449. <xsl:for-each select="LISTITEM | SIDEBARLISTNUMBERED">
  450.     <LI CLASS="text"><xsl:apply-templates /></LI>
  451. </xsl:for-each>
  452. </OL>
  453. </xsl:template>
  454.  
  455. <xsl:template match="LIST[@MARK='alpha']">
  456. <OL CLASS="text" TYPE="A">
  457. <xsl:if test="@START != null"><xsl:attribute name="START"><xsl:value-of select="@START" /></xsl:attribute></xsl:if>
  458. <xsl:for-each select="LISTITEM | OPTION">
  459.     <LI CLASS="text"><xsl:apply-templates /></LI>
  460. </xsl:for-each>
  461. </OL>
  462. </xsl:template>
  463. <!-- list: end -->
  464.  
  465.  
  466. <!-- testdata: begin -->
  467. <xsl:template match="TESTDATA">
  468. <OL CLASS="text" TYPE="1">
  469. <xsl:for-each select="TESTBLOCK">
  470.     <LI CLASS="text"><xsl:apply-templates select="QUESTIONBLOCK/QUESTION | QUESTIONBLOCK/LIST | ANSWERBLOCK/ANSWER" /></LI>
  471. </xsl:for-each>
  472. </OL>
  473. <xsl:apply-templates select="TESTDATA/TESTBLOCK/QUESTIONBLOCK/LIST[@MARK='alpha']" />
  474. </xsl:template>
  475. <!-- testdata: end -->
  476.  
  477.  
  478. <!-- image (Jpeg and Gif): begin -->
  479. <xsl:template match="IMAGE | image">
  480. <IMG SRC="<?303 media?>/content/{@SRC}">
  481.  
  482. <xsl:if test="@BORDER != null"><xsl:attribute name="BORDER"><xsl:value-of select="@BORDER" /></xsl:attribute></xsl:if>
  483. <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  484. <xsl:if test="@HEIGHT != null"><xsl:attribute name="HEIGHT"><xsl:value-of select="@HEIGHT" /></xsl:attribute></xsl:if>
  485. <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  486. <xsl:if test="@VSPACE != null"><xsl:attribute name="VSPACE"><xsl:value-of select="@VSPACE" /></xsl:attribute></xsl:if>
  487. <xsl:if test="@HSPACE != null"><xsl:attribute name="HSPACE"><xsl:value-of select="@HSPACE" /></xsl:attribute></xsl:if>
  488.  
  489. </IMG>
  490. </xsl:template>
  491. <!-- image (Jpeg and Gif): end -->
  492.  
  493.  
  494. <!-- math (Gif only): begin -->
  495. <xsl:template match="MATH | math">
  496. <IMG SRC="<?103?>&course=<?1008?>&file=media/content/{@SRC}.gif">
  497.  
  498. <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  499. <xsl:if test="@HEIGHT != null"><xsl:attribute name="HEIGHT"><xsl:value-of select="@HEIGHT" /></xsl:attribute></xsl:if>
  500. <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  501.  
  502. </IMG>
  503. </xsl:template>
  504. <!-- math (Gif only): end -->
  505.  
  506. <!-- sybexsymbol: begin -->
  507. <xsl:template match="SYBEXSYMBOL">
  508. <span class="symbol"><xsl:apply-templates /></span>
  509. </xsl:template>
  510. <!-- sybexsymbol: end -->
  511.  
  512. <!-- ******     SPECIAL SYMBOLS     ***** -->
  513.  
  514. <!-- times sign -->
  515. <xsl:template match="TIMES">
  516. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(times[browser]);]]></script>
  517. </xsl:template>
  518.  
  519. <!-- divide sign -->
  520. <xsl:template match="DIVIDE">
  521. <xsl:text>÷</xsl:text>
  522. </xsl:template>
  523.  
  524. <!-- difference sign -->
  525. <xsl:template match="MINUS">
  526. <xsl:text>–</xsl:text>
  527. </xsl:template>
  528.  
  529. <!-- non-break space sign -->
  530. <xsl:template match="NBSP">
  531. <xsl:text> </xsl:text>
  532. </xsl:template>
  533.  
  534. <!-- infinity sign -->
  535. <xsl:template match="INFIN">
  536. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(infin[browser]);]]></script>
  537. </xsl:template>
  538.  
  539. <!-- union sign -->
  540. <xsl:template match="CUP">
  541. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(cup[browser]);]]></script>
  542. </xsl:template>
  543.  
  544. <!-- infinity sign -->
  545. <xsl:template match="ANG">
  546. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(ang[browser]);]]></script>
  547. </xsl:template>
  548.  
  549. <!-- plus-minus sign -->
  550. <xsl:template match="PLUSMN">
  551. <span class="symbol">±</span>
  552. </xsl:template>
  553.  
  554. <!-- less-than or equal sign -->
  555. <xsl:template match="LE">
  556. <span class="symbol">£</span>
  557. </xsl:template>
  558.  
  559. <!-- greater-than or equal sign -->
  560. <xsl:template match="GE">
  561. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(ge[browser]);]]></script>
  562. </xsl:template>
  563.  
  564. <!-- less sign -->
  565. <xsl:template match="LT">
  566. <span class="symbol"><</span>
  567. </xsl:template>
  568.  
  569. <!-- more sign -->
  570. <xsl:template match="GT">
  571. <span class="symbol">></span>
  572. </xsl:template>
  573.  
  574. <!-- left arrow sign -->
  575. <xsl:template match="LARR">
  576. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(larr[browser]);]]></script>
  577. </xsl:template>
  578.  
  579. <!-- right arrow sign -->
  580. <xsl:template match="RARR">
  581. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(rarr[browser]);]]></script>
  582. </xsl:template>
  583.  
  584. <!-- tab sign -->
  585. <xsl:template match="TAB">
  586. <xsl:text>    </xsl:text>
  587. </xsl:template>
  588.  
  589. <!-- nearly equal sign -->
  590. <xsl:template match="AP">
  591. <script type="text/javascript" language="JavaScript"><![CDATA[document.write(ap[browser]);]]></script>
  592. </xsl:template>
  593.  
  594. <!-- degree sign -->
  595. <xsl:template match="DGR">
  596. <xsl:text>°</xsl:text>
  597. </xsl:template>
  598.  
  599. <!-- check mark sign -->
  600. <xsl:template match="CHECK">
  601. <IMG SRC="<?303 media/content/?>graphics/0/check<?1006?>.gif" BORDER="0" ALIGN="ABSMIDDLE" />
  602. </xsl:template>
  603.  
  604. <!-- right-pointing angle arrow sign -->
  605. <xsl:template match="ARR">
  606. <IMG SRC="<?303 media/content/?>graphics/0/arr<?1006?>.gif" BORDER="0" ALIGN="ABSMIDDLE" />
  607. </xsl:template>
  608.  
  609. <!-- ************************************************* -->
  610.  
  611.  
  612. <!-- link to xml: begin -->
  613. <xsl:template match="L">
  614. <A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A>
  615. </xsl:template>
  616. <!-- link to xml: end -->
  617.  
  618.  
  619. <!-- tabulardata: begin -->
  620. <xsl:template match="TABULARDATA | QUOTE">
  621. <BLOCKQUOTE CLASS="text">
  622.     <xsl:apply-templates />
  623. </BLOCKQUOTE>
  624. </xsl:template>
  625. <!-- tabulardata: end -->
  626.  
  627.  
  628. <!-- tabularbody: begin -->
  629. <xsl:template match="TABULARBODY">
  630. <TABLE BORDER="0" CELLPADDING="6" CELLSPACING="0">
  631.  
  632. <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  633. <xsl:if test="@HEIGHT != null"><xsl:attribute name="HEIGHT"><xsl:value-of select="@HEIGHT" /></xsl:attribute></xsl:if>
  634. <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  635.  
  636. <xsl:for-each select="TABULARROW">
  637. <TR>
  638.     <xsl:if test="@BGCOLOR != null"><xsl:attribute name="BGCOLOR"><xsl:value-of select="@BGCOLOR" /></xsl:attribute></xsl:if>
  639.     <xsl:for-each select="TABULARENTRY">
  640.     <TD CLASS="text" VALIGN="top">
  641.  
  642. <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  643. <xsl:if test="@HEIGHT != null"><xsl:attribute name="HEIGHT"><xsl:value-of select="@HEIGHT" /></xsl:attribute></xsl:if>
  644. <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  645. <!-- <xsl:if test="@VALIGN != null"><xsl:attribute name="VALIGN"><xsl:value-of select="@VALIGN" /></xsl:attribute></xsl:if> -->
  646. <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  647. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  648.  
  649. <xsl:if test="@REF != null"><A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A></xsl:if>
  650. <xsl:if test="@REF = null"><xsl:apply-templates /></xsl:if>
  651.     
  652.     </TD>
  653.  
  654.     </xsl:for-each>
  655. </TR>
  656. </xsl:for-each>
  657.  
  658. </TABLE>
  659. </xsl:template>
  660. <!-- tabularbody: begin -->
  661.  
  662.  
  663. <!-- table: begin -->
  664. <xsl:template match="TABLE">
  665. <P CLASS="text"><B>TABLE <xsl:value-of select="@NUM" /></B>    <xsl:apply-templates select="TABLETITLE" /></P>
  666. <BLOCKQUOTE CLASS="text">
  667. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="90%">
  668.  
  669. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  670. <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>
  671. </TD></TR>
  672.  
  673. <xsl:apply-templates select="TABLEHEAD" />
  674.  
  675. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  676. <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>
  677. </TD></TR>
  678.  
  679. <xsl:apply-templates select="TABLEBODY" />
  680.  
  681. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  682. <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>
  683. </TD></TR>
  684.  
  685. </TABLE>
  686. </BLOCKQUOTE>
  687. </xsl:template>
  688.  
  689. <xsl:template match="TABLEHEAD">
  690. <TR>
  691.     <xsl:for-each select="TABLEROW/TABLEENTRY">
  692.     <TD CLASS="text">
  693.     <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  694.     <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  695. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  696.         <NOBR><B><xsl:apply-templates /></B></NOBR>
  697.     </TD>
  698.     </xsl:for-each>
  699. </TR>
  700. </xsl:template>
  701.  
  702. <xsl:template match="TABLEBODY">
  703. <xsl:for-each select="TABLEROW">
  704. <TR>
  705.     <xsl:for-each select="TABLEENTRY">
  706.     <TD CLASS="text" VALIGN="top">
  707.     <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  708.     <xsl:if test="@VALIGN != null"><xsl:attribute name="VALIGN"><xsl:value-of select="@VALIGN" /></xsl:attribute></xsl:if>
  709.     <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  710.     <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  711. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  712.     <xsl:apply-templates />
  713.     </TD>
  714.     </xsl:for-each>
  715. </TR>
  716. </xsl:for-each>
  717. </xsl:template>
  718. <!-- table: end -->
  719.  
  720. <!-- table[border='0']: begin -->
  721. <xsl:template match="TABLE[@MODE='nobord']">
  722.  
  723. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="80%">
  724. <xsl:apply-templates select="HEAD" />
  725. <xsl:apply-templates select="BODY" />
  726. </TABLE>
  727.  
  728. </xsl:template>
  729.  
  730. <xsl:template match="HEAD">
  731. <xsl:for-each select="ROW">
  732. <TR>
  733.     <xsl:for-each select="CELL">
  734.     <TD CLASS="text" VALIGN="top">
  735.     <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  736.     <xsl:if test="@VALIGN != null"><xsl:attribute name="VALIGN"><xsl:value-of select="@VALIGN" /></xsl:attribute></xsl:if>
  737.     <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  738.     <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  739. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  740.     <NOBR><UL CLASS="text" TYPE="square"><LI CLASS="text"><xsl:apply-templates /></LI></UL></NOBR>
  741.     </TD>
  742.     </xsl:for-each>
  743. </TR>
  744. </xsl:for-each>
  745. </xsl:template>
  746.  
  747. <xsl:template match="BODY">
  748. <xsl:for-each select="ROW">
  749. <TR>
  750.     <xsl:for-each select="CELL">
  751.     <TD CLASS="text" VALIGN="top">
  752.     <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  753.     <xsl:if test="@VALIGN != null"><xsl:attribute name="VALIGN"><xsl:value-of select="@VALIGN" /></xsl:attribute></xsl:if>
  754.     <xsl:if test="@WIDTH != null"><xsl:attribute name="WIDTH"><xsl:value-of select="@WIDTH" /></xsl:attribute></xsl:if>
  755.     <xsl:if test="@COLSPAN != null"><xsl:attribute name="COLSPAN"><xsl:value-of select="@COLSPAN" /></xsl:attribute></xsl:if>
  756. <xsl:if test="@ROWSPAN != null"><xsl:attribute name="ROWSPAN"><xsl:value-of select="@ROWSPAN" /></xsl:attribute></xsl:if>
  757.     <NOBR><UL CLASS="text" TYPE="square"><LI CLASS="text"><xsl:apply-templates /></LI></UL></NOBR>
  758.     </TD>
  759.     </xsl:for-each>
  760. </TR>
  761. </xsl:for-each>
  762. </xsl:template>
  763. <!-- table[border='0']:: end -->
  764.  
  765. <!-- tableb: begin -->
  766. <xsl:template match="TABLEB">
  767. <P CLASS="text"><B>TABLE <xsl:value-of select="@NUM" /></B>    <xsl:apply-templates select="TABLETITLE" /></P>
  768. <BLOCKQUOTE CLASS="text">
  769. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="90%">
  770.  
  771. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  772. <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>
  773. </TD></TR>
  774.  
  775. <xsl:apply-templates select="TABLEBODY" />
  776.  
  777. <TR><TD COLSPAN="{@TABLEENTRYNUM}" WIDTH="100%">
  778. <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>
  779. </TD></TR>
  780.  
  781. </TABLE>
  782. </BLOCKQUOTE>
  783. </xsl:template>
  784. <!-- tableb: end -->
  785.  
  786. <!-- sidebarblock: begin -->
  787. <xsl:template match="SIDEBARBLOCK">
  788. <BLOCKQUOTE CLASS="text">
  789. <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR><TD>
  790.     <TABLE CELLPADDING="1" CELLSPACING="0" BORDER="0" BGCOLOR="#000000"><TR><TD>
  791.         <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" BGCOLOR="#FFFFFF">
  792.             <TR><TD BGCOLOR="#BDBDBD">
  793.                 <TABLE CELLPADDING="4" CELLSPACING="0" BORDER="0">
  794.                     <TR><TD CLASS="text"><B><xsl:apply-templates select="SIDEBARTITLE" /></B></TD></TR>
  795.                 </TABLE>
  796.             </TD></TR>
  797.             <TR><TD>
  798.                 <TABLE CELLPADDING="4" CELLSPACING="0" BORDER="0">
  799.                     <TR><TD><xsl:apply-templates select="SIDEBAR | CODESNIPPET | CODELISTING | SIDEBARCODESNIPPET | SIDEBARLIST | LIST | SIDEBARRUNINBLOCK | SLUG" /></TD></TR>
  800.                 </TABLE>
  801.             </TD></TR>
  802.         </TABLE>
  803.     </TD></TR></TABLE>
  804. </TD></TR></TABLE>
  805. </BLOCKQUOTE>
  806. </xsl:template>
  807.  
  808. <xsl:template match="SIDEBARLIST">
  809. <BLOCKQUOTE CLASS="text"><xsl:apply-templates /></BLOCKQUOTE>
  810. </xsl:template>
  811. <!-- sidebarblock: end -->
  812.  
  813.  
  814. <!-- audio: begin -->
  815. <!-- <xsl:template match="AUDIO">
  816.     <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>
  817. </xsl:template> -->
  818. <!-- audio: end -->
  819.  
  820.  
  821. <!-- exerciseblock: begin -->
  822. <xsl:template match="EXERCISEBLOCK[@MODE='text']">
  823. <P><TABLE CELLPADDING="4" CELLSPACING="0" BORDER="0" BGCOLOR="#000000" WIDTH="100%"><TR>
  824. <xsl:choose>
  825. <xsl:when test="@TIP='lab'">
  826. <TD CLASS="whitetext"> LAB <xsl:value-of select="@NUM" /></TD>
  827. </xsl:when>
  828. <xsl:otherwise>
  829. <TD CLASS="whitetext"> EXERCISE <xsl:value-of select="@NUM" /></TD>
  830. </xsl:otherwise>
  831. </xsl:choose>
  832. <!-- <TD CLASS="whitetext"> EXERCISE <xsl:value-of select="@NUM" /></TD> -->
  833. </TR></TABLE></P>
  834. <BLOCKQUOTE CLASS="text">
  835. <P><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">
  836. <TR>
  837. <!-- <xsl:apply-templates select="AUDIO" />
  838.     <TD VALIGN="top"> </TD> -->
  839.     <TD VALIGN="top"><H3 CLASS="exeTitle"><xsl:apply-templates select="EXERCISETITLE" /></H3></TD>
  840. </TR>
  841. </TABLE></P>
  842. <xsl:apply-templates select="EXERCISE | EXERCISETITLESUB | EXERCISELIST | EXERCISELISTPARA | PARA" />
  843. </BLOCKQUOTE>
  844. <P><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" BGCOLOR="#000000" WIDTH="100%"><TR>
  845. <TD><IMG SRC="<?303 media/content/graphics/styles/pixel.gif?>" WIDTH="1" HEIGHT="1" BORDER="0" /></TD>
  846. </TR></TABLE></P>
  847. </xsl:template>
  848.  
  849. <xsl:template match="EXERCISETITLESUB">
  850. <H3 CLASS="exeSubTitle"><xsl:apply-templates /></H3>
  851. </xsl:template>
  852.  
  853. <xsl:template match="EXERCISELIST[@MARK='number']">
  854. <OL CLASS="text" TYPE="1">
  855. <xsl:if test="@START != null"><xsl:attribute name="START"><xsl:value-of select="@START" /></xsl:attribute></xsl:if>
  856. <xsl:for-each select="EXERCISELISTNUMBERED">
  857.     <LI CLASS="text"><P><xsl:apply-templates /></P></LI>
  858. </xsl:for-each>
  859. </OL>
  860. </xsl:template>
  861.  
  862. <xsl:template match="EXERCISELISTPARA">
  863. <UL CLASS="none">
  864.     <LI CLASS="text"><xsl:apply-templates /></LI>
  865. </UL>
  866. </xsl:template>
  867. <!-- exerciseblock: begin -->
  868.  
  869.  
  870. <!-- exerciseblock with flash: begin -->
  871. <xsl:template match="EXERCISEBLOCK">
  872. <xsl:variable name="num"><xsl:value-of select="@NUM"/></xsl:variable>
  873. <P><TABLE CELLPADDING="4" CELLSPACING="0" BORDER="0" BGCOLOR="#000000" WIDTH="100%"><TR>
  874. <TD CLASS="whitetext"> EXERCISE <xsl:value-of select="@NUM" /></TD>
  875. </TR></TABLE></P>
  876. <P><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">
  877. <TR>
  878. <!-- <xsl:apply-templates select="AUDIO" />
  879.     <TD VALIGN="top"> </TD> -->
  880.     <TD VALIGN="top"><H3 CLASS="exeTitle"><xsl:apply-templates select="EXERCISETITLE" /></H3></TD>
  881. </TR>
  882. </TABLE></P>
  883. <xsl:apply-templates select="EXERCISE | EXERCISETITLESUB | EXERCISELIST | EXERCISELISTPARA | PARA | TABLE | LIST" />
  884. <xsl:if test="$num!=null"><P><xsl:apply-templates select="/CHAPTER/EXECOL/EXE[@NUM=$num] | /APPENDIX/EXECOL/EXE[@NUM=$num]" /></P></xsl:if>
  885. </xsl:template>
  886.  
  887. <xsl:template match="EXE">
  888. <xsl:apply-templates select="FLASH" />
  889. <xsl:apply-templates select="WARNING" />
  890. </xsl:template>
  891. <!-- exerciseblock with flash: begin -->
  892.  
  893. <!-- casestudy: begin -->
  894. <xsl:template match="SECTION[@CASESTUDY] | SECTION[@CASESTUDY]/SECTION/SECTION">
  895. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="100%" BGCOLOR="#EFEFEF">
  896. <TR>
  897.     <TD WIDTH="40" BGCOLOR="#AFAFAF" VALIGN="top"><IMG SRC="<?303 media/content/graphics/0/casestady.gif?>" WIDTH="24" HEIGHT="200" BORDER="0" /></TD>
  898.     <TD WIDTH="100%" VALIGN="top">
  899.         <xsl:apply-templates select="TITLE" />
  900.         <xsl:apply-templates select="SECTION | PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | CODELISTING | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE" />
  901.     </TD>
  902. </TR>
  903. </TABLE>
  904. </xsl:template>
  905.  
  906. <xsl:template match="SECTION[@CASESTUDY]/SECTION">
  907. <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="100%" BGCOLOR="#EFEFEF">
  908. <TR>
  909.     <TD WIDTH="40" BGCOLOR="#AFAFAF" VALIGN="top"><IMG SRC="<?303 media/content/graphics/0/casestady.gif?>" WIDTH="24" HEIGHT="200" BORDER="0" /></TD>
  910.     <TD WIDTH="100%" VALIGN="top">
  911. <xsl:if test="@POS != null">
  912.     <xsl:apply-templates select="../TITLE" />
  913.     <xsl:apply-templates select="../PARA | ../LIST | ../RUNINBLOCK | ../PARACONTINUED | ../SLUG | ../NOTE | ../CODESNIPPET | ../CODELISTING | ../TABULARDATA | ../TESTDATA | ../TABLE | ../TABLEB | ../WARNING | ../TIP | ../SIDEBARBLOCK | ../MSEXAMOBJECTIVE" />
  914. </xsl:if>
  915.         <xsl:apply-templates select="TITLE" />
  916.         <xsl:apply-templates select="SECTION | PARA | LIST | RUNINBLOCK | PARACONTINUED | SLUG | NOTE | CODESNIPPET | CODELISTING | TABULARDATA | TESTDATA | TABLE | TABLEB | WARNING | TIP | SIDEBARBLOCK | MSEXAMOBJECTIVE" />
  917.     </TD>
  918. </TR>
  919. </TABLE>
  920. </xsl:template>
  921. <!-- casestudy: end -->
  922.  
  923.  
  924. <!-- slug: begin -->
  925. <xsl:template match="SLUG">
  926. <xsl:variable name="num"><xsl:value-of select="@NUM"/></xsl:variable>
  927. <xsl:variable name="nonum"><xsl:value-of select="@NONUM"/></xsl:variable>
  928. <xsl:variable name="flash"><xsl:value-of select="@FLASH"/></xsl:variable>
  929. <xsl:if test="$num!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@NUM=$num] | /APPENDIX/FIGCOL/FIG[@NUM=$num]" /></xsl:if>
  930. <xsl:if test="$nonum!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@NONUM=$nonum] | /APPENDIX/FIGCOL/FIG[@NONUM=$nonum]" /></xsl:if>
  931. <xsl:if test="$flash!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@FLASH=$flash] | /APPENDIX/FIGCOL/FIG[@FLASH=$flash]" /></xsl:if>
  932. </xsl:template>
  933.  
  934. <xsl:template match="LISTITEM/SLUG | EXERCISELISTNUMBERED/SLUG">
  935. <xsl:variable name="num"><xsl:value-of select="@NUM"/></xsl:variable>
  936. <xsl:variable name="nonum"><xsl:value-of select="@NONUM"/></xsl:variable>
  937. <xsl:if test="$num!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@NUM=$num] | /APPENDIX/FIGCOL/FIG[@NUM=$num]" mode="listitem" /></xsl:if>
  938. <xsl:if test="$nonum!=null"><xsl:apply-templates select="/CHAPTER/FIGCOL/FIG[@NONUM=$nonum] | /APPENDIX/FIGCOL/FIG[@NONUM=$nonum]" mode="listitem" /></xsl:if>
  939. </xsl:template>
  940.  
  941. <xsl:template match="FIG">
  942. <BLOCKQUOTE CLASS="text">
  943. <B>Figure <xsl:value-of select="@NUM" /></B>    <xsl:apply-templates select="P" />
  944. <xsl:apply-templates select="ILL" />
  945. </BLOCKQUOTE>
  946. </xsl:template>
  947.  
  948. <xsl:template match="FIG[@FLASH]">
  949. <BLOCKQUOTE CLASS="text">
  950. <xsl:apply-templates select="ILL" />
  951. </BLOCKQUOTE>
  952. </xsl:template>
  953.  
  954. <xsl:template match="FIG[@NONUM]">
  955. <center><xsl:apply-templates select="ILL" /></center>
  956. </xsl:template>
  957.  
  958. <!-- <xsl:template match="FIG[@NONUM]/ILL">
  959. <center><xsl:apply-templates /></center>
  960. </xsl:template> -->
  961.  
  962. <xsl:template match="FIG" mode="listitem">
  963. <P CLASS="text">
  964. <B>Figure <xsl:value-of select="@NUM" /></B>    <xsl:apply-templates select="P" />
  965. <xsl:apply-templates select="ILL" />
  966. </P>
  967. </xsl:template>
  968.  
  969. <xsl:template match="FIG[@NONUM]" mode="listitem">
  970. <P CLASS="text">
  971. <xsl:apply-templates select="ILL" />
  972. </P>
  973. </xsl:template>
  974.  
  975. <xsl:template match="FIG/P">
  976. <xsl:apply-templates />
  977. </xsl:template>
  978.  
  979. <xsl:template match="ILL">
  980. <TABLE CELLPADDING="1" CELLSPACING="0" BORDER="0" BGCOLOR="#000000"><TR><TD><TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" BGCOLOR="#FFFFFF"><TR><!-- illustration -->
  981.     <TD><xsl:apply-templates /></TD>
  982. </TR></TABLE></TD></TR></TABLE>
  983. </xsl:template>
  984.  
  985.  
  986.  
  987. <xsl:template match="ILL[IMAGE]">
  988. <BR/><xsl:apply-templates /><BR/>
  989. </xsl:template>
  990. <!-- slug: end -->
  991.  
  992. <!-- animation: begin -->
  993. <xsl:template match="ANIMATION">
  994. <xsl:variable name="id"><xsl:value-of select="@ID"/></xsl:variable>
  995. <xsl:if test="$id!=null"><xsl:apply-templates select="/CHAPTER/ANIMACOL/ANIMA[@ID=$id]" /></xsl:if>
  996. </xsl:template>
  997.  
  998. <xsl:template match="ANIMA">
  999. <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" WIDTH="100%">
  1000. <TR>
  1001.     <TD ALIGN="left" VALIGN="top"><H3 CLASS="sec2Title"><xsl:apply-templates select="TITLE" /></H3></TD>
  1002.     <TD> </TD>
  1003.     <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>
  1004. </TR>
  1005. </TABLE>
  1006. <xsl:apply-templates select="ILL/FLASH" />
  1007. </xsl:template>
  1008. <!-- animation: end -->
  1009.  
  1010.  
  1011. <!-- flash: begin -->
  1012. <xsl:template match="FLASH | flash">
  1013. <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">
  1014.     <PARAM NAME="MOVIE" VALUE="<?303 media?>/content/{@SRC}" />
  1015.     <PARAM NAME="LOOP" VALUE="{@LOOP}" />
  1016.     <PARAM NAME="MENU" VALUE="{@MENU}" />
  1017.     <PARAM NAME="QUALITY" VALUE="{@QUALITY}" />
  1018.     <PARAM NAME="BGCOLOR" VALUE="{@BGCOLOR}" />
  1019. <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" />
  1020. </OBJECT>
  1021. </xsl:template>
  1022. <!-- flash: end -->
  1023.  
  1024.  
  1025. <!-- note: begin -->
  1026. <xsl:template match="NOTE">
  1027. <P><TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BORDER="0" BGCOLOR="#CFCFCF">
  1028. <TR><TD WIDTH="100%" CLASS="text" VALIGN="top">
  1029.  
  1030.     <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>
  1031.  
  1032.     <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR>
  1033.         <TD VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/note.gif?>" WIDTH="49" HEIGHT="38" BORDER="0" /></TD>
  1034.         <TD>
  1035.             <TABLE CELLPADDING="13" CELLSPACING="0" BORDER="0"><TR><TD CLASS="text">
  1036.                 <xsl:apply-templates />
  1037.             </TD></TR></TABLE>
  1038.         </TD>
  1039.     </TR></TABLE>
  1040.  
  1041. </TD></TR></TABLE></P>
  1042. </xsl:template>
  1043. <!-- note: end -->
  1044.  
  1045.  
  1046. <!-- tip: begin -->
  1047. <xsl:template match="TIP">
  1048. <P><TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BORDER="0" BGCOLOR="#CFCFCF">
  1049. <TR><TD WIDTH="100%" CLASS="text" VALIGN="top">
  1050.  
  1051.     <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>
  1052.  
  1053.     <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR>
  1054.         <TD VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/tip.gif?>" WIDTH="49" HEIGHT="38" BORDER="0" /></TD>
  1055.         <TD>
  1056.             <TABLE CELLPADDING="13" CELLSPACING="0" BORDER="0"><TR><TD CLASS="text">
  1057.                 <xsl:apply-templates />
  1058.             </TD></TR></TABLE>
  1059.         </TD>
  1060.     </TR></TABLE>
  1061.  
  1062. </TD></TR></TABLE></P>
  1063. </xsl:template>
  1064. <!-- tip: end -->
  1065.  
  1066.  
  1067. <!-- warning: begin -->
  1068. <xsl:template match="WARNING">
  1069. <P><TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BORDER="0" BGCOLOR="#CFCFCF">
  1070. <TR><TD WIDTH="100%" CLASS="text" VALIGN="top">
  1071.  
  1072.     <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>
  1073.  
  1074.     <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR>
  1075.         <TD VALIGN="top"><IMG SRC="<?303 media/content/graphics/styles/warning.gif?>" WIDTH="58" HEIGHT="38" BORDER="0" /></TD>
  1076.         <TD>
  1077.             <TABLE CELLPADDING="13" CELLSPACING="0" BORDER="0"><TR><TD CLASS="text">
  1078.                 <xsl:apply-templates />
  1079.             </TD></TR></TABLE>
  1080.         </TD>
  1081.     </TR></TABLE>
  1082.  
  1083. </TD></TR></TABLE></P>
  1084. </xsl:template>
  1085. <!-- warning: end -->
  1086.  
  1087. <!-- codesnippet: begin -->
  1088. <xsl:template match="CODESNIPPET | CODELISTING">
  1089. <BLOCKQUOTE><TABLE CELLPADDING="6" CELLSPACING="0" BORDER="0" WIDTH="580" BGCOLOR="#333333"><TR>
  1090. <TD>
  1091. <PRE>
  1092.     <xsl:apply-templates />
  1093. </PRE>
  1094. </TD>
  1095. </TR></TABLE></BLOCKQUOTE>
  1096. <xsl:apply-templates select="CODELISTING/TITLE" />
  1097. </xsl:template>
  1098.  
  1099. <xsl:template match="SIDEBARCODESNIPPET">
  1100. <BLOCKQUOTE>
  1101. <PRE CLASS="pre_black">
  1102.     <xsl:apply-templates />
  1103. </PRE>
  1104. </BLOCKQUOTE>
  1105. </xsl:template>
  1106.  
  1107. <xsl:template match="LISTITEM/CODESNIPPET">
  1108. <P><TABLE CELLPADDING="6" CELLSPACING="0" BORDER="0" WIDTH="580" BGCOLOR="#333333"><TR>
  1109. <TD>
  1110. <PRE>
  1111.     <xsl:apply-templates />
  1112. </PRE>
  1113. </TD>
  1114. </TR></TABLE></P>
  1115. </xsl:template>
  1116.  
  1117. <xsl:template match="CODELINE">
  1118. <xsl:apply-templates />
  1119. </xsl:template>
  1120. <!-- codesnippet: end -->
  1121.  
  1122.  
  1123. <!-- ANSWERBLOCK/ANSWER: begin -->
  1124. <xsl:template match="ANSWERBLOCK/ANSWER">
  1125. <P CLASS="text">
  1126.     <xsl:apply-templates />
  1127.     <xsl:apply-templates select="../../EXPLANATION" />
  1128. </P>
  1129. </xsl:template>
  1130. <!-- ANSWERBLOCK/ANSWER: end -->
  1131.  
  1132.  
  1133. <!-- paragraph: begin -->
  1134. <xsl:template match="P | PARA |PARACONTINUED | QUESTIONBLOCK/QUESTION | SIDEBAR | EXERCISE">
  1135. <xsl:variable name="br"><xsl:value-of select="@BR" /></xsl:variable>
  1136. <P CLASS="text">
  1137.     <xsl:if test="@ALIGN != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@ALIGN" /></xsl:attribute></xsl:if>
  1138.     <xsl:if test="@align != null"><xsl:attribute name="ALIGN"><xsl:value-of select="@align" /></xsl:attribute></xsl:if>
  1139.  
  1140.     <xsl:if test="@REF != null">
  1141.     <A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A>
  1142.     </xsl:if>
  1143.  
  1144.     <xsl:if test="@REF = null">
  1145.     <xsl:apply-templates />
  1146.     </xsl:if>
  1147.     
  1148.     <xsl:if test="$br!=null"><BR CLEAR="{$br}" /></xsl:if>
  1149. </P>
  1150. </xsl:template>
  1151. <!-- paragraph: end -->
  1152.  
  1153.  
  1154. <!-- times italic font -->
  1155. <xsl:template match="TI | ti">
  1156. <SPAN CLASS="timesItalic"><xsl:apply-templates /></SPAN>
  1157. </xsl:template>
  1158.  
  1159. <xsl:template match="HLIGHT | hlight">
  1160. <SPAN STYLE="color:{@COLOR};"><xsl:apply-templates /></SPAN>
  1161. </xsl:template>
  1162.  
  1163. <xsl:template match="SYMBOL | symbol">
  1164. <SPAN CLASS="symbol"><xsl:apply-templates /></SPAN>
  1165. </xsl:template>
  1166.  
  1167. <xsl:template match="CHAPTER/PARA/DROPCAP | APPENDIX/PARA/DROPCAP | INTRODUCTION/PARA/DROPCAP">
  1168. <SPAN STYLE="font-size:300%; font-weight:600;"><xsl:apply-templates /></SPAN>
  1169. </xsl:template>
  1170.  
  1171. <xsl:template match="CHAPTER/SECTION/PARA/DROPCAP | APPENDIX/SECTION/PARA/DROPCAP | INTRODUCTION/SECTION/PARA/DROPCAP | INTRODUCTION/ACKNOWLEDGMENTS/PARA/DROPCAP">
  1172. <SPAN STYLE="font-size:200%; font-weight:600;"><xsl:apply-templates /></SPAN>
  1173. </xsl:template>
  1174.  
  1175. <xsl:template match="BIG | big">
  1176. <SPAN CLASS="big"><xsl:apply-templates /></SPAN>
  1177. </xsl:template>
  1178.  
  1179. <xsl:template match="SMALL | small">
  1180. <SPAN CLASS="small"><xsl:apply-templates /></SPAN>
  1181. </xsl:template>
  1182.  
  1183. <xsl:template match="COMMENT">
  1184. <BLOCKQUOTE>
  1185. <SPAN STYLE="COLOR:#000000; FONT-FAMILY:ARIAL,SANS-SERIF; FONT-WEIGHT:400; FONT-SIZE:10PX;"><xsl:apply-templates /></SPAN>
  1186. </BLOCKQUOTE>
  1187. </xsl:template>
  1188.  
  1189. <xsl:template match="LEFT | left">
  1190. <LEFT><xsl:apply-templates /></LEFT>
  1191. </xsl:template>
  1192.  
  1193. <xsl:template match="CENTER | center">
  1194. <CENTER><xsl:apply-templates /></CENTER>
  1195. </xsl:template>
  1196.  
  1197. <xsl:template match="RIGHT | right">
  1198. <RIGHT><xsl:apply-templates /></RIGHT>
  1199. </xsl:template>
  1200.  
  1201. <xsl:template match="INLINECODE | INLINEURL">
  1202. <xsl:if test="@HREF != null">
  1203. <A HREF="{@HREF}">
  1204.     <xsl:if test="@SHOW != null">
  1205.         <xsl:if test="@SHOW = 'new'">
  1206.             <xsl:attribute name="TARGET">_blank</xsl:attribute>
  1207.         </xsl:if>
  1208.     </xsl:if>
  1209.     <SPAN CLASS="courier"><xsl:apply-templates /></SPAN>
  1210. </A>
  1211. </xsl:if>
  1212. <xsl:if test="@HREF = null">
  1213.     <SPAN CLASS="courier"><xsl:apply-templates />
  1214. </SPAN></xsl:if>
  1215. </xsl:template>
  1216.  
  1217. <xsl:template match="USERINPUT | CODELISTING/TITLE">
  1218. <xsl:if test="@HREF != null">
  1219. <A HREF="{@HREF}">
  1220.     <xsl:if test="@SHOW != null">
  1221.         <xsl:if test="@SHOW = 'new'">
  1222.             <xsl:attribute name="TARGET">_blank</xsl:attribute>
  1223.         </xsl:if>
  1224.     </xsl:if>
  1225.     <SPAN CLASS="courier"><xsl:apply-templates /></SPAN>
  1226. </A>
  1227. </xsl:if>
  1228. <xsl:if test="@HREF = null">
  1229.     <SPAN CLASS="courier"><B><xsl:apply-templates /></B></SPAN></xsl:if>
  1230. </xsl:template>
  1231.  
  1232.  
  1233. <xsl:template match="INLINECODEVARIABLE">
  1234. <SPAN CLASS="courier"><I><xsl:apply-templates /></I></SPAN>
  1235. </xsl:template>
  1236.  
  1237. <xsl:template match="INLINECODEUSERINPUTVARIABLE">
  1238. <SPAN CLASS="courier"><I><B><xsl:apply-templates /></B></I></SPAN>
  1239. </xsl:template>
  1240.  
  1241. <xsl:template match="SUP | sup | SUPERSCRIPT">
  1242. <SUP><xsl:apply-templates /></SUP>
  1243. </xsl:template>
  1244.  
  1245. <xsl:template match="INLINECODEUSERINPUT">
  1246. <SPAN CLASS="courier"><B><xsl:apply-templates /></B></SPAN>
  1247. </xsl:template>
  1248.  
  1249. <xsl:template match="CODELINE/INLINECODEUSERINPUT">
  1250. <B><xsl:apply-templates /></B>
  1251. </xsl:template>
  1252.  
  1253. <xsl:template match="SUB | sub">
  1254. <SUB><xsl:apply-templates /></SUB>
  1255. </xsl:template>
  1256.  
  1257. <xsl:template match="B | b | EMPHASIS[@FORMAT='bold']">
  1258. <B><xsl:apply-templates /></B>
  1259. </xsl:template>
  1260.  
  1261. <xsl:template match="I | i | KEYTERM | EMPHASIS | EMPHASIS[@FORMAT='italic'] | VARIABLE">
  1262. <I>
  1263. <xsl:if test="@REF != null">
  1264.     <A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A>
  1265. </xsl:if>
  1266. <xsl:if test="@REF = null">
  1267.     <xsl:apply-templates />
  1268. </xsl:if>
  1269. </I>
  1270. </xsl:template>
  1271.  
  1272. <xsl:template match="EMPHASIS[@FORMAT='bolditalic'] | USERINPUTVARIABLE">
  1273. <B><I><xsl:apply-templates /></I></B>
  1274. </xsl:template>
  1275.  
  1276. <xsl:template match="U | u">
  1277. <U><xsl:apply-templates /></U>
  1278. </xsl:template>
  1279.  
  1280. <xsl:template match="PRE | pre">
  1281. <PRE><xsl:apply-templates /></PRE>
  1282. </xsl:template>
  1283.  
  1284. <xsl:template match="BR | br">
  1285. <BR>
  1286. <xsl:if test="@CLEAR != null"><xsl:attribute name="CLEAR"><xsl:value-of select="@CLEAR" /></xsl:attribute></xsl:if>
  1287. <xsl:if test="@clear != null"><xsl:attribute name="CLEAR"><xsl:value-of select="@clear" /></xsl:attribute></xsl:if>
  1288. </BR>
  1289. </xsl:template>
  1290.  
  1291. <xsl:template match="NOBR | nobr">
  1292. <NOBR>
  1293.     <xsl:if test="@REF != null">
  1294.         
  1295.         <xsl:choose>
  1296.             <xsl:when test="@REF='G'">
  1297.                 <A HREF="<?11?>?sid=<?1003?>&msg=3&file=media/search/glossary_f.htm" target="_parent"><xsl:apply-templates /></A>
  1298.             </xsl:when>
  1299.             <xsl:otherwise>
  1300.                 <A HREF="javascript:gotoPage('{@REF}');"><xsl:apply-templates /></A>
  1301.             </xsl:otherwise>
  1302.         </xsl:choose>
  1303.     </xsl:if>
  1304.     <xsl:if test="@REF = null"><xsl:apply-templates /></xsl:if>
  1305. </NOBR>
  1306. </xsl:template>
  1307.  
  1308. <xsl:template match="BORDER">
  1309.     <div CLASS="bordB" STYLE="width:{@WIDTH};"></div>
  1310. </xsl:template>
  1311.  
  1312. <xsl:template match="BORDERB"><!-- border bold -->
  1313.     <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>
  1314. </xsl:template>
  1315.  
  1316. <xsl:template match="BORDERT"><!-- border think -->
  1317.     <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>
  1318. </xsl:template>
  1319.  
  1320.  
  1321. </xsl:stylesheet>