新手/初学者XSL用户在这里。将<xsl:value-of>的结果乘以-1
我有类似下面的模板我的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坐标系的替代方法。我研究了这一点,对于我的具体应用,我非常确定这是最好的方式去做(假设我可以使它工作)。
添加负号是我尝试的第一件事。它在Internet Explorer中不起作用。图像呈现完美而没有否定,但是当我添加它时根本不呈现。这些文件存储在本地,所以我不能在Chrome中进行转换,因为它不允许本地XSL转换。 我很想听听你翻转Y的另一个想法。尽管我尝试了大约5种不同的方式,但在这种情况下它们都不起作用。 – 2014-09-06 00:06:27
迈克尔:我在本地主机上设置了IIS,并且这样做可以在Chrome中工作!非常感谢。但是需要永久渲染 - 比Internet Explorer长得多。虽然比没有好。 – 2014-09-06 00:23:45
@RickTeachey ** 1。**我不明白为什么这不会普遍适用,但以防万一,' '应该做同样的事情。 ** 2 **这与速度无关。但是使用''''可能会:在XSLT中,明确写出完整的路径是值得的。 ** 3。**不确定“这种情况”是什么。看看这是否可以提供帮助:http://stackoverflow.com/questions/25108217/using-xslt-to-create-svg/25108778#25108778 –
2014-09-06 00:45:33