我第一次尝试 xsl:package 但在命令行上出现错误-
xml(未真正使用)-
<woot/>
package.xsl-
<?xml version="1.0" encoding="UTF-8"?>
<xsl:package name="http://example.org/package.xsl"
package-version="1.0" version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:f="http://example.org/package">
<xsl:function name="f:woot" visibility="public">
<xsl:value-of select="'DANGGGG'"/>
</xsl:function>
</xsl:package>
包使用.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:package name="http://example.org/package-use.xsl"
package-version="1.0" version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:f="http://example.org/package">
<xsl:use-package name="http://example.org/package.xsl" package-version="1.0"/>
<xsl:template match="/">
<xsl:variable name="output-text" select="f:woot()"/>
<xsl:value-of select="$output-text"/>
</xsl:template>
</xsl:package>
在命令行上(使用 saxon 9.7)
> java -jar saxon9ee.jar woot.xml package-use.xsl;package.xsl
返回-
可能的循环包依赖
我尝试使用 Saxon 9.6 对 Oxygen XML 进行类似的转换并得到 java.lang.NullPointerException。