2012-06-15 38 views
0

我打算將Saxon用於XSLT問題。我需要按計劃運行我的程序。運行時,需要從目錄中選擇所有CSV文件。文件數量可以是隨機的,但一旦處理完畢,它們將被另一個進程從文件夾中清除。最初只有一個帶有固定名稱的CSV文件,因此在XSLT中引用它並不是問題。我也可以在運行時以編程方式設置文件名,以便一切正常。我的XSLT現在需要知道所有文件,以便輸出單個XML。我不確定是否可以傳入文件路徑,並讓XSLT讀取該位置的所有文件?有沒有一個命令來做到這一點,還是有更好的方法來做到這一點?請記住,當運行XSLT時,我不知道該文件夾中將有多少個CSV文件。如何從XSLT文件讀取多個CSV文件並輸出單個XML文件

+0

也許這會幫助:http://stackoverflow.com/questions/102531/xslt-multiple-file-inputs –

回答

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> 
相關問題