Mercurial > hg > ooxml
comparison rect.xsl @ 40:ac6d1ca099f7
simplified rect output, refs (not refs2) working again
author | Henry S. Thompson <ht@markup.co.uk> |
---|---|
date | Tue, 02 May 2017 09:20:13 +0100 |
parents | 4c6a341e75da |
children | 6f448ac67778 |
comparison
equal
deleted
inserted
replaced
39:4c6a341e75da | 40:ac6d1ca099f7 |
---|---|
1 <?xml version='1.0'?> | 1 <?xml version='1.0'?> |
2 <!DOCTYPE doc SYSTEM "../../../lib/xml/xsl.dtd" > | 2 <!DOCTYPE doc SYSTEM "../../../lib/xml/xsl.dtd" > |
3 <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" xmlns="http://markup.co.uk/excel" xmlns:xpf="http://www.w3.org/2005/xpath-functions"> | 3 <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://markup.co.uk/excel" xmlns:xpf="http://www.w3.org/2005/xpath-functions"> |
4 <xsl:strip-space elements="s:sheetData"/> | 4 <xsl:strip-space elements="s:sheetData"/> |
5 | 5 |
6 <xsl:include href="a2n.xsl"/> | 6 <xsl:include href="a2n.xsl"/> |
7 <xsl:include href="n2a.xsl"/> | 7 <xsl:include href="n2a.xsl"/> |
8 <xsl:include href="tokenise.xsl"/> | 8 <xsl:include href="tokenise.xsl"/> |
9 | 9 |
10 <xsl:variable name="refs" select="document('sample2/empty_refs.xml')/*"/><!--collection()[2]/*--> | |
11 | |
12 <xsl:key name="ref" match="e:i" use="@r"/> | |
13 | |
14 <xsl:variable name="dim" select="//s:dimension/@ref"/> | 10 <xsl:variable name="dim" select="//s:dimension/@ref"/> |
15 | 11 |
16 <xsl:template match="/"> | 12 <xsl:template match="/"> |
17 <xsl:apply-templates select="//s:sheetData"/> | 13 <xsl:apply-templates select="//s:sheetData"/> |
18 </xsl:template> | 14 </xsl:template> |
32 <xsl:if test="$cells/*"> | 28 <xsl:if test="$cells/*"> |
33 <xsl:for-each select="(1 to $width)"> | 29 <xsl:for-each select="(1 to $width)"> |
34 <xsl:variable name="col" select="."/> | 30 <xsl:variable name="col" select="."/> |
35 <xsl:variable name="r" select="concat(e:n2a($col),string($row))"/> | 31 <xsl:variable name="r" select="concat(e:n2a($col),string($row))"/> |
36 <xsl:variable name="c" select="$cells[@r=$r]"/> | 32 <xsl:variable name="c" select="$cells[@r=$r]"/> |
37 <xsl:variable name="reffed" select="key('ref',$r,$refs)"/> | |
38 <c c="{$col}"> | 33 <c c="{$col}"> |
39 <xsl:if test="$c/s:f"><xsl:attribute name="f">1</xsl:attribute></xsl:if> | 34 <xsl:if test="$c/s:f"><xsl:attribute name="f">1</xsl:attribute></xsl:if> |
40 <xsl:if test="$c/*"> | 35 <xsl:if test="$c/*"> |
41 <t> | 36 <xsl:if test="$c/@e:class"><xsl:attribute name="t"><xsl:value-of select="substring($c/@e:class,1,1)"/></xsl:attribute></xsl:if> |
42 <xsl:if test="$c/@e:class"><xsl:attribute name="c"><xsl:value-of select="substring($c/@e:class,1,1)"/></xsl:attribute></xsl:if> | |
43 <xsl:if test="$c/@e:code"><xsl:attribute name="l"><xsl:value-of select="$c/@e:code"/></xsl:attribute></xsl:if> | 37 <xsl:if test="$c/@e:code"><xsl:attribute name="l"><xsl:value-of select="$c/@e:code"/></xsl:attribute></xsl:if> |
44 <xsl:if test="$c/s:f"> | 38 <xsl:if test="$c/s:f"> |
45 <f> | 39 <f> |
46 <xsl:copy-of select="e:tokenise($c/s:f,$row,$col)"/> | 40 <xsl:copy-of select="e:tokenise($c/s:f,$row,$col)"/> |
47 </f></xsl:if> | 41 </f></xsl:if> |
48 <xsl:value-of select="substring($c/@e:type,1,1)"/> | 42 <xsl:value-of select="substring($c/@e:type,1,1)"/> |
49 </t> | |
50 </xsl:if> | 43 </xsl:if> |
51 <xsl:if test="$reffed"><xsl:copy-of select="$reffed/e:r"/></xsl:if> | |
52 </c> | 44 </c> |
53 </xsl:for-each></xsl:if> | 45 </xsl:for-each></xsl:if> |
54 </r> | 46 </r> |
55 <xsl:text> </xsl:text></xsl:for-each> | 47 <xsl:text> </xsl:text></xsl:for-each> |
56 </a> | 48 </a> |