Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Datapower-针对XSL的错误验证_Java_Xml_Xslt - Fatal编程技术网

Java Datapower-针对XSL的错误验证

Java Datapower-针对XSL的错误验证,java,xml,xslt,Java,Xml,Xslt,我正在根据XSL验证XML文件(我不想修改XSL),但我遇到了以下错误: 错误: ValFactura.xsl:XTDE1425的第35行出错:找不到匹配项 名为 内置模板中的{}变量() 统治 JAVA代码: try { OutputStream os = new PrintStream(System.out); xsl.process(xmlFile, xslFile, os); } catch (TransformerEx

我正在根据XSL验证XML文件(我不想修改XSL),但我遇到了以下错误:

错误:

ValFactura.xsl:XTDE1425的第35行出错:找不到匹配项 名为 内置模板中的{}变量() 统治

JAVA代码:

   try {
            OutputStream os = new PrintStream(System.out);
            xsl.process(xmlFile, xslFile, os);
   } 
   catch (TransformerException e) {
            e.printStackTrace();
   }

private void process(Source xml, Source xsl, Result result) throws TransformerException {
        try {
            Templates template = factory.newTemplates(xsl);
            Transformer transformer = template.newTransformer();
            transformer.transform(xml, result);
        } catch (TransformerConfigurationException tce) {
            throw new TransformerException(tce.getMessageAndLocation());
        } catch (TransformerException te) {
            throw new TransformerException(te.getMessageAndLocation());
        }
    }
XSL摘录:

<xsl:stylesheet xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:regexp="http://exslt.org/regular-expressions" 
    xmlns:func="http://exslt.org/functions" 
    xmlns:dp="http://www.datapower.com/extensions" 
    extension-element-prefixes="dp" exclude-result-prefixes="dp" 
    version="1.0">
....
    <xsl:variable name="numeroRuc" select="substring(dp:variable('var://context/cpe/nombreArchivoEnviado'), 1, 11)"/>
....
</xsl:stylesheet>

....
....
Maven图书馆:

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

net.sf.saxon
萨克森河
9.5.1-5
有什么想法吗

非常感谢你的帮助


PS:对不起,我的英语不好:=)

那么您希望在哪个环境中使用IBM datapower特定扩展的样式表?不要期望扩展在XSLT处理器之间是可移植的。开发是安装在计算机上的,所以我知道我必须安装Websphere开发?错误消息看起来很像来自Saxon,当然,Saxon不会理解Datapower扩展函数。那么您希望在哪个环境中使用IBM Datapower特定扩展的样式表呢?不要期望扩展在XSLT处理器之间是可移植的。开发是安装在计算机上的,所以我知道我必须安装Websphere开发?错误消息看起来很像来自Saxon,Saxon当然不会理解Datapower扩展函数。