我有两个带有经度和纬度值的变量。现在我想将这些变量计算为 x 和 y 值,但我需要余弦函数。XSL 仅支持加号、除号等...
如何在 XSL 1.0 中计算余弦?
<xsl:variable name="lat" select="some value"/>
<xsl:variable name="lon" select="some value"/>
<xsl:variable name="x" select="?? do some crazy calculate with cosine ??"/>
<xsl:variable name="y" select="?? do some crazy calculate with cosine ??"/>
感谢您的帮助!
Dimitre Novachev的FXSL 1.0库包括纯粹的XSLT 1.0代码来计算三角函数。扩展函数可能会更快,但纯 XSLT 实现更具可移植性。
标准 XSLT 1.0 中没有余弦函数,但请查看 EXSLT,特别是math:cos()
函数:
Implementer Page: math.cos.html
Function Package: math.cos.zip
function syntax
number math:cos(number)
The math:cos function returns cosine of the passed argument in radians.
如果您的处理器不支持 EXSLT math:cos() 函数,您仍然可以使用 Taylor 幂级数轻松计算它。
或者查看处理器的文档,了解如何编写/调用扩展函数。一些处理器(如Apache Xalan)使调用Java库函数变得相当简单。