新手/初学者XSL用户在这里。
我的XSLT文档中包含以下模板:
<xsl:template name="getpoint">
<xsl:param name="nodenum"/>
<xsl:value-of select="//nodeCoord[nodeNumber=$nodenum]/nodeXCoord"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="//nodeCoord[nodeNumber=$nodenum]/nodeYCoord"/>
</xsl:template>
正在使用完整的XSLT文档来生成SVG图形。但是,我希望翻转浏览器的Y坐标系,因为我的源数据采用传统的坐标系统。
我的问题非常简单:如何将nodeYCoord
乘以-1并将结果发送到浏览器而不是<xsl:value-of>
元素生成的值?
编辑:请不要提供有关如何翻转Y坐标系的替代方法。我已经研究了这个,对于我的具体应用,我很确定这是最好的方法(假设我可以使它工作)。
答案 0 :(得分:1)
我的问题非常简单:如何将nodeYCoord乘以-1和 将结果发送到浏览器而不是产生的值
<xsl:value-of>
元素?
答案也很简单:使用减号。而不是:
<xsl:value-of select="//nodeCoord[nodeNumber=$nodenum]/nodeYCoord"/>
写:
<xsl:value-of select="-//nodeCoord[nodeNumber=$nodenum]/nodeYCoord"/>
请不要提供有关如何翻转Y的替代方法 坐标系。我已经研究了这个,并且针对我的具体情况 应用程序我很确定这是最好的方法 (假设我可以使它工作)。
也许你应该再看看它。
答案 1 :(得分:0)
将值保存到变量中,然后在xpath表达式中使用它
<xsl:variable name="yval" select="//nodeCoord[nodeNumber=$nodenum]/nodeYCoord/text()"/>
<xsl:value-of select="-1 * $yval"/>