我尝试使用外部XML与另一个XML进行比较,但在编译时出错。
我正在使用apache camel进行编译。
错误:
DefaultErrorHandler ERROR Failed delivery for (MessageId: ID-DESKTOP-L78T6HF-57465-1476187649613-0-7 on ExchangeId: ID-DESKTOP-L78T6HF-57465-1476187649613-0-8). Exhausted after delivery attempt: 1 caught: javax.xml.transform.TransformerException: com.sun.org.apache.xalan.internal.xsltc.TransletException: com.sun.org.apache.xalan.internal.xsltc.TransletException: java.io.FileNotFoundException: E:/TestesCamel/to/qualis/estrato/qualis.xml
错误显示找不到文件,但该文件位于此目录中。
这是有错误的部分:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="qualis" select="document('E:/TestesCamel/to/qualis/estrato/qualis.xml')"/>
<xsl:for-each select="$qualis/DATA">
.
.
</xsl:for-each>
</xsl:template>
任何人都可以帮助我吗?感谢
答案 0 :(得分:2)
使用协议file:///
为您的URI添加前缀。
<xsl:variable name="qualis" select="document('file:///E:/TestesCamel/to/qualis/estrato/qualis.xml')"/>
更多信息:Xalan [via Java]可以使用特定目录配置为基本路径 - 绝对文件路径可能会被处理为相对路径。