Xslt 萨克森HE 9.5和getGlobalParameters

Xslt 萨克森HE 9.5和getGlobalParameters,xslt,parameters,nullpointerexception,saxon,Xslt,Parameters,Nullpointerexception,Saxon,几天前,我使用Saxon HE 9.4.0.7成功地使用了类“XsltExecutable”的方法“getGlobalParameters”。任务是获取XSLT文件的参数 当转到Saxon HE 9.5.0.2时,此方法引发了NullPointerException。 下面是一个示例,在9.4.0.7版中工作非常完美,但在9.5.0.2版中工作不(引发NullPointerException)。有人能帮我找到并解决这个问题吗?提前谢谢 import java.io.*; import java.

几天前,我使用Saxon HE 9.4.0.7成功地使用了类“XsltExecutable”的方法“getGlobalParameters”。任务是获取XSLT文件的参数

当转到Saxon HE 9.5.0.2时,此方法引发了NullPointerException。 下面是一个示例,在9.4.0.7版中工作非常完美,但在9.5.0.2版中工作(引发NullPointerException)。有人能帮我找到并解决这个问题吗?提前谢谢

import java.io.*;
import java.util.*;
import javax.xml.transform.stream.*;
import net.sf.saxon.*;
import net.sf.saxon.s9api.*;
import org.junit.*;

public class GlobalParametersTest {

@Test
public void globalParametersTest() throws UnsupportedEncodingException, SaxonApiException {
        Configuration configuration = Configuration.newConfiguration();
        Processor processor = new Processor(configuration);
        XsltCompiler xsltCompiler = processor.newXsltCompiler();

        String source="<?xml version='1.0'?>" +
"                <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'" +
"                xmlns:xs='http://www.w3.org/2001/XMLSchema'" +
"                version='2.0'>" +

"                <xsl:param name='surname' as='xs:string' />" +
"                <xsl:param name='age' as='xs:integer' />" +

"                <xsl:template match='/'><xsl:element name='root' /></xsl:template>" +
"                </xsl:stylesheet>";

        XsltExecutable xsltExecutable = xsltCompiler.compile(new StreamSource(new ByteArrayInputStream(source.getBytes("UTF-8"))));
        Map<QName, XsltExecutable.ParameterDetails> params = xsltExecutable.getGlobalParameters();

        System.out.println();
        int i=0;
        for (QName key: params.keySet()) {
            System.out.println("Parameter n."+(++i)+": "+key);
        }
        System.out.println();
    }
}
import java.io.*;
导入java.util.*;
导入javax.xml.transform.stream.*;
导入net.sf.saxon.*;
导入net.sf.saxon.s9api.*;
导入org.junit.*;
公共类全局参数测试{
@试验
public void globalParametersTest()引发不受支持的编码异常,SaxonapieException{
Configuration=Configuration.newConfiguration();
处理器=新处理器(配置);
XsltCompiler XsltCompiler=processor.newXsltCompiler();
String source=“”+
"                " +
"                " +
"                " +
"                " +
"                ";
XsltExecutable XsltExecutable=xsltCompiler.compile(新的StreamSource(新的ByteArrayInputStream(source.getBytes(“UTF-8”)));
Map params=xsltExecutable.getGlobalParameters();
System.out.println();
int i=0;
对于(QName键:params.keySet()){
System.out.println(“参数n.”+(++i)+“:”+键);
}
System.out.println();
}
}
下面是pom.xml的各个部分,包括Saxon HE的工作版本和非工作版本:

    <dependency>
        <groupId>net.sf.saxon</groupId>
        <artifactId>Saxon-HE</artifactId>
        <version>9.4.0.7</version>
    </dependency>

net.sf.saxon
萨克森河
9.4.0.7


net.sf.saxon
萨克森河
9.5.0.2

您可以尝试在上报告问题。完成。萨克森团队正在关注以下问题:
    <dependency>
        <groupId>net.sf.saxon</groupId>
        <artifactId>Saxon-HE</artifactId>
        <version>9.5.0.2</version>
    </dependency>