Java Datapower-针对XSL的错误验证
我正在根据XSL验证XML文件(我不想修改XSL),但我遇到了以下错误: 错误: ValFactura.xsl:XTDE1425的第35行出错:找不到匹配项 名为 内置模板中的{}变量() 统治 JAVA代码: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
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扩展函数。