diff html.xsl @ 15:e767bef35bb9

default to ascii, but accept html.xsl for pretty
author Henry S. Thompson <ht@markup.co.uk>
date Mon, 03 Apr 2017 16:02:10 +0100
parents
children 2bbd067529b6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/html.xsl	Mon Apr 03 16:02:10 2017 +0100
@@ -0,0 +1,46 @@
+<?xml version='1.0'?>
+<!DOCTYPE doc SYSTEM "../../../lib/xml/xsl.dtd" >
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0" xmlns:s="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:e="http://markup.co.uk/excel" exclude-result-prefixes="xs s xpf e" xmlns="http://www.w3.org/1999/xhtml" xmlns:xpf="http://www.w3.org/2005/xpath-functions">
+ <xsl:strip-space elements="e:a"/>
+ <xsl:output omit-xml-declaration="yes"/>
+ 
+ <xsl:template match="/">
+  <html>
+   <head>
+    <style>
+       body {font-family: 'DejaVu Sans Mono' , monospace}
+       .e {color: red}
+       .formula {font-style: italic}
+    </style>
+   </head>
+   <body>
+    <xsl:apply-templates/>
+   </body>
+  </html>
+ </xsl:template>
+
+ <xsl:template match="e:a">
+  <table>
+   <thead/>
+   <tbody><xsl:apply-templates/></tbody>
+  </table>
+ </xsl:template>
+ 
+ <xsl:template match="e:r">
+  <tr><xsl:apply-templates/></tr>
+  <xsl:text>&#10;</xsl:text>
+ </xsl:template>
+ 
+ <xsl:template match="e:c">
+  <td>
+   <xsl:choose>
+    <xsl:when test="text()">
+     <xsl:attribute name="class">
+      <xsl:value-of select="(.,if (@f) then 'formula' else ())"/>
+     </xsl:attribute>
+     <xsl:value-of select="."/></xsl:when>
+    <xsl:otherwise><xsl:text> </xsl:text></xsl:otherwise>
+   </xsl:choose>
+   </td>
+ </xsl:template>
+</xsl:stylesheet>