home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1999 October / pcp156b.iso / alphawrk / TEXML / TEXML.ZIP / com / ibm / texml / ddoctex.xsl < prev    next >
Encoding:
Extensible Markup Language  |  1999-06-23  |  2.0 KB  |  94 lines

  1. <?xml version="1.0"?>
  2.  
  3. <xsl:stylesheet
  4.   xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
  5.  
  6. <xsl:template match="/">
  7.   <xsl:apply-templates/>
  8. </xsl:template>
  9.  
  10. <xsl:template match="doc">
  11.   <xsl:pi name="xml">version="1.0" encoding="UTF-8"</xsl:pi>
  12.   <TeXML>
  13.     <cmd name="documentclass">
  14.       <parm>article</parm>
  15.     </cmd>
  16.     <cmd name="title">
  17.       <parm><xsl:value-of select="@title"/></parm>
  18.     </cmd>
  19.     <env name="document">
  20.       <cmd name="maketitle"/>
  21.       <xsl:apply-templates/>
  22.     </env>
  23.   </TeXML>
  24. </xsl:template>
  25.  
  26. <xsl:template match="sec">
  27.   <cmd name="section*">
  28.     <parm><xsl:value-of select="@title"/></parm>
  29.   </cmd>
  30.   <xsl:apply-templates/>
  31. </xsl:template>
  32.  
  33. <xsl:template match="sec//sec">
  34.   <cmd name="subsection*">
  35.     <parm><xsl:value-of select="@title"/></parm>
  36.   </cmd>
  37.   <xsl:apply-templates/>
  38. </xsl:template>
  39.  
  40. <xsl:template match="sec//sec//sec">
  41.   <cmd name="subsubsection*">
  42.     <parm><xsl:value-of select="@title"/></parm>
  43.   </cmd>
  44.   <xsl:apply-templates/>
  45. </xsl:template>
  46.  
  47. <!-- Paragraphs -->
  48. <xsl:template match="p">
  49.  <xsl:apply-templates/>
  50.  <cmd name="par"/>
  51. </xsl:template>
  52.  
  53. <!-- Quotations -->
  54. <xsl:template match="quote">
  55.  <xsl:text>``</xsl:text>
  56.  <xsl:apply-templates/>
  57.  <xsl:text>''</xsl:text>
  58. </xsl:template>
  59.  
  60. <!-- Bullet lists -->
  61. <xsl:template match="list">
  62.   <env name="itemize">
  63.   <xsl:apply-templates/>
  64.   </env>
  65. </xsl:template>
  66.  
  67. <xsl:template match="item">
  68.   <cmd name="item"/>
  69.   <xsl:apply-templates/>
  70. </xsl:template>
  71.  
  72. <!-- Descriptive lists -->
  73. <xsl:template match="list[@type='descriptive']">
  74.   <env name="description">
  75.   <xsl:apply-templates/>
  76.   </env>
  77. </xsl:template>
  78.  
  79. <xsl:template match="item[@term]">
  80.   <cmd name="item">
  81.     <opt><xsl:value-of select="@term"/></opt>
  82.   </cmd>
  83.   <xsl:apply-templates/>
  84. </xsl:template>
  85.  
  86. <!-- Print a link -->
  87. <xsl:template match="link">
  88.   <spec cat="bg"/><cmd name="it"/>
  89.   <xsl:value-of select="@href"/>
  90.   <spec cat="eg"/>
  91. </xsl:template>
  92.  
  93. </xsl:stylesheet>
  94.