1

Saxon 9 で csv ファイルを xml ファイルに変換しようとしています。しかし、存在を確認し、xslt 関数を使用して csv ファイルを読み込もうとすると問題が発生します: unparsed-text-available(), unparsed-text( )

ローカル ファイルでは問題なく動作しますが、リモート ファイルをパラメーターとして渡すと、unparsed-text-available() は false を返します。

たとえば、「D:\test\test.csv」を渡すと動作します。「\\remote-computer\test\test.csv」を渡すと見つからない。

これが私のxslファイルの一部です:

<xsl:template match="/" name="main">
  <xsl:choose>
    <xsl:when test="unparsed-text-available($pathToCSV)">
        <xsl:variable name="csv" select="unparsed-text($pathToCSV)"/>                    
            ....
    </xsl:when>
    <xsl:otherwise>
        <xsl:text>Cannot locate : </xsl:text><xsl:value-of select="$pathToCSV"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

document() はリモート ファイルを読み取ることができるようですが、xml ファイルに対してのみです。

この場合に使用できる他の機能を知っていますか? xsltまたはsaxonで?

4

1 に答える 1

0

そのパスを有効な URI に変換する必要があります。

何かのようなもの:

unparsed-text(concat('file://',translate($pathToCSV,'\','/')))
于 2013-03-21T16:01:07.707 に答える