我计划将Saxon用于XSLT问题。我需要按计划运行我的程序。运行时,需要从目录中选择所有CSV文件。文件数可以是随机的,但一旦处理完毕,它们就会被另一个进程从文件夹中清除。最初只有一个具有固定名称的CSV文件,因此在XSLT中引用它不是问题。我还可以在运行时以编程方式设置文件名,这样一切都运行良好。我的XSLT现在需要知道所有文件,所以我可以输出一个XML。我不确定我是否可以传入文件路径并让XSLT读入该位置的所有文件?是否有命令这样做或有更好的方法来做到这一点?请记住,我不知道运行XSLT时文件夹中有多少CSV文件。
答案 0 :(得分:1)
请参阅www.saxonica.com/documentation/sourcedocs/intro.xml,您可以使用collection
功能从目录中读取文件,例如
<xsl:for-each select="collection('file:///C:/dir/subdir?select=*.csv;unparsed=yes')/tokenize(., '\n')">
<line><xsl:value-of select="."/></line>
</xsl:for-each>