Hvordan bruger jeg mine egne funktioner i XSLT?
Jeg har et XML-dokument, som jeg formaterer via XSL-Stylesheet. Jeg har set flere stedet på nettet, at man kan lave sine egne funktioner i C#, JavaScript, JScript m.m. og bruge i sine XSL-dokumenter og det vil jeg gerne gøre brug af, men jeg kan desværre ikke få det til at virke.Nedenfor har jeg indsat et lille eksempel til at illustrere problemet.
Mit XML-document:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
<test>
<test>1/2/3</test>
</test>
Mit XSL-document:
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:myScript="urn:local-function">
<xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="yes" />
<xsl:template match="/test">
<html>
<head>
<title>TEST</title>
<style>
<msxsl:script language="JScript" implements-prefix="myScript" xmlns:theScript="urn:local-function">
function DoSomething(abc) {return abc;}
</msxsl:script>
</style>
</head>
<body>
<xsl:value-of select="myScript:DoSomething(test)" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Når jeg åbner ovenstående XML-dokument, får jeg følgende fejl:
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
Namespace 'urn:local-function' does not contain any functions.
Hvad gør jeg forkert?