我在解决XSL中的命名空间时遇到问题。我使用的是XMLSpy,带有Xalan的外部转换引擎。无论我如何处理,我都会得到一个"找不到函数"或"在…中找不到xml样式表pi"的
我需要调整什么来允许通过命名空间使用自定义java类?
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:Utils="xalan://com.util.Utils" extension-element-prefixes="Utils"
xmlns:java="java" xmlns:xalan="http://xml.apache.org/xalan" exclude-result-prefixes="xalan">
<xsl:template match="/ORDER">
<xsl:variable name="strDivId">
<xsl:value-of select="Utils.getDivisionId($strSiteId,$strDivName,$strCompanyNo,$strDivNo,$strFranchNo)"/>
</xsl:variable>
<!-- Other Stuff Occurs -->
</xsl:template>
<xsl:value-of select="Utils.getDivisionId(...)"/>
扩展函数由XML风格的QNames引用——Utils
是名称空间前缀,因此点应该是冒号。
<xsl:value-of select="Utils:getDivisionId(...)"/>