2012-06-15 4 views
0

Я планирую использовать Saxon для проблемы XSLT. Мне нужно запустить мою программу по расписанию. Когда он запускается, ему необходимо выбрать все CSV-файлы из каталога. Количество файлов может быть случайным, но после его обработки они удаляются из папки другим процессом. Первоначально был только один файл CSV с фиксированным именем, поэтому ссылка на него в XSLT не была проблемой. Я также мог программно установить имя файла во время выполнения, чтобы все работало хорошо. Теперь мой XSLT должен знать обо всех файлах, чтобы я мог выводить один XML. Я не уверен, могу ли я передать путь к файлу и позволить XSLT читать все файлы в этом месте? Есть ли команда для этого или есть лучший способ сделать это? Помните, я не знаю, сколько CSV-файлов будет в папке при запуске XSLT.Как читать в нескольких файлах CSV из файла XSLT и выводить один файл 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> 
Смежные вопросы