Mercurial > hg > ooxml
view html.xsl @ 34:93fd0d532754
fix bug in refs wrt e.g. [1]!.SGX,
adapt html and ascii to new-format refs,
move a2n and n2a into separate files for re-use
author | Henry S. Thompson <ht@markup.co.uk> |
---|---|
date | Wed, 12 Apr 2017 21:35:04 +0100 |
parents | 104ef815b0b0 |
children | 5b2333e59d91 |
line wrap: on
line source
<?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:include href="n2a.xsl"/> <xsl:template match="/"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <style> body {font-family: 'DejaVu Sans Mono' , monospace} td {padding: 0} .e {color: red} .formula {font-style: italic} .reffed {border: solid 1px black} table {table-layout: fixed} th {width: 1en} </style> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="e:a"> <xsl:variable name="n" select="count(e:r[1]/e:c)"/> <table> <thead> <tr> <xsl:for-each select="1 to $n"> <th/> </xsl:for-each> </tr> </thead> <tbody><xsl:apply-templates/></tbody> </table> </xsl:template> <xsl:template match="e:r"> <tr><xsl:apply-templates/></tr> <xsl:text> </xsl:text> </xsl:template> <xsl:template match="e:c"> <td> <xsl:choose> <xsl:when test="e:t"> <xsl:attribute name="class"> <xsl:value-of select="(e:t, if (@f) then 'formula' else (), if (e:r) then 'reffed' else ())"/> </xsl:attribute> <xsl:attribute name="title"><xsl:value-of select="e:n2a(@c)"/><xsl:value-of select="../@r"/><xsl:if test="e:r">: <xsl:value-of select="e:r"/></xsl:if></xsl:attribute> <xsl:value-of select="if (e:t/@c) then e:t/@c else e:t"/></xsl:when> <xsl:otherwise></xsl:otherwise> </xsl:choose> </td> </xsl:template> </xsl:stylesheet>