comparison rect.xsl @ 27:8309dcfce613

preparing for variable deref
author Henry S. Thompson <ht@markup.co.uk>
date Mon, 10 Apr 2017 17:29:24 +0100
parents d2ca3ea1f5ae
children 93fd0d532754
comparison
equal deleted inserted replaced
26:d2ca3ea1f5ae 27:8309dcfce613
37 <xsl:template match="/"> 37 <xsl:template match="/">
38 <xsl:apply-templates select="//s:sheetData"/> 38 <xsl:apply-templates select="//s:sheetData"/>
39 </xsl:template> 39 </xsl:template>
40 40
41 <xsl:template match="s:sheetData"> 41 <xsl:template match="s:sheetData">
42 <xsl:message><xsl:value-of select="count($refs/*)"/></xsl:message>
43 <xsl:if test="s:row"> 42 <xsl:if test="s:row">
44 <xsl:variable name="dims" select="analyze-string($dim,'([A-Z]+)([0-9]+):([A-Z]+)([0-9]+)')"/> 43 <xsl:variable name="dims" select="analyze-string($dim,'([A-Z]+)([0-9]+):([A-Z]+)([0-9]+)')"/>
45 <xsl:variable name="height" select="1+xs:integer($dims//xpf:group[@nr='4'])-xs:integer($dims//xpf:group[@nr='2'])"/> 44 <xsl:variable name="height" select="1+xs:integer($dims//xpf:group[@nr='4'])-xs:integer($dims//xpf:group[@nr='2'])"/>
46 <xsl:variable name="width" select="1+e:a2n($dims//xpf:group[@nr='3'])-e:a2n($dims//xpf:group[@nr='1'])"/> 45 <xsl:variable name="width" select="1+e:a2n($dims//xpf:group[@nr='3'])-e:a2n($dims//xpf:group[@nr='1'])"/>
47 <!-- Brute force! --> 46 <!-- Brute force! -->
57 <xsl:variable name="r" select="concat(e:n2a($col),string($row))"/> 56 <xsl:variable name="r" select="concat(e:n2a($col),string($row))"/>
58 <xsl:variable name="c" select="$cells[@r=$r]"/> 57 <xsl:variable name="c" select="$cells[@r=$r]"/>
59 <xsl:variable name="reffed" select="key('ref',$r,$refs)"/> 58 <xsl:variable name="reffed" select="key('ref',$r,$refs)"/>
60 <c c="{$col}"> 59 <c c="{$col}">
61 <xsl:if test="$c/s:f"><xsl:attribute name="f">1</xsl:attribute></xsl:if> 60 <xsl:if test="$c/s:f"><xsl:attribute name="f">1</xsl:attribute></xsl:if>
62 <xsl:if test="$c/*"><t><xsl:value-of select="substring($c/@e:type,1,1)"/></t></xsl:if> 61 <xsl:if test="$c/*">
62 <t>
63 <xsl:if test="$c/@e:class"><xsl:attribute name="c"><xsl:value-of select="substring($c/@e:class,1,1)"/></xsl:attribute></xsl:if>
64 <xsl:if test="$c/@e:code"><xsl:attribute name="l"><xsl:value-of select="$c/@e:code"/></xsl:attribute></xsl:if>
65 <xsl:value-of select="substring($c/@e:type,1,1)"/>
66 </t>
67 </xsl:if>
63 <xsl:if test="$reffed"><xsl:copy-of select="$reffed/e:r"/></xsl:if> 68 <xsl:if test="$reffed"><xsl:copy-of select="$reffed/e:r"/></xsl:if>
64 </c> 69 </c>
65 </xsl:for-each></xsl:if> 70 </xsl:for-each></xsl:if>
66 </r> 71 </r>
67 <xsl:text>&#10;</xsl:text></xsl:for-each> 72 <xsl:text>&#10;</xsl:text></xsl:for-each>