我正在尝试使用Saxon 9将csv文件转换为xml文件。 但是当我尝试检查存在并使用xslt函数读取csv文件时,我遇到了问题: 未解析文本可用(), 未解析的文本()
它们可以正常使用本地文件,但是当我将远程文件作为参数传递时,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?
答案 0 :(得分:0)
您必须将该路径转换为有效的URI。
类似的东西:
unparsed-text(concat('file://',translate($pathToCSV,'\','/')))