Я упал на это - я думаю, это то, что вам нужно ...
Как показывает xmlns: cosSin - это пространство имен
оператор select вызывает функцию, используя cosSin: префикс
Работает также в MS версии 4 ....
...
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:cosSin="urn:cosSin">
...
<text fill="white" stroke="none" font-size="48" text-anchor="middle">
<xsl:attribute name="x"><xsl:value-of select="(cosSin:returnX($offSet + ($slicePercentage div 2)) * 600) + 1000" /></xsl:attribute>
<xsl:attribute name="y"><xsl:value-of select="(cosSin:returnY($offSet + ($slicePercentage div 2)) * 600) + 1000" /></xsl:attribute>
<xsl:value-of select="$slicePercentage" /> %
</text>
...
<msxsl:script language="JScript" implements-prefix="cosSin">
function returnX(percent) {
var degree = percent * 3.6;
return Math.cos(degree*Math.PI/180);
}
function returnY(percent) {
var degree = percent * 3.6;
return Math.sin(degree*Math.PI/180);
}
</msxsl:script>