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>&#10;</xsl:text></xsl:for-each> 47 <xsl:text>&#10;</xsl:text></xsl:for-each>
56 </a> 48 </a>