2016-10-11 7 views
3

私は別のXMLと比較するために外部XMLを使用しようとしていますが、コンパイル時にエラーがあります。コードxsltエラー:ファイルが見つかりません

私はコンパイルするために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> 

誰も私を助けることができますか?ありがとう

答えて

2

あなたのURIにプロトコルfile:///を接頭辞付けます。

<xsl:variable name="qualis" select="document('file:///E:/TestesCamel/to/qualis/estrato/qualis.xml')"/> 

更に詳しく:[ジャワ経由]のXalanはBasePathのような特定のディレクトリで構成することができる - 絶対ファイルパスは相対として扱われることがあります。

関連する問題