2013-05-26 5 views
1

Я хочу использовать XSLT для чтения всех XML-файлов в подкаталоге и вывода результатов в один файл XML, но я не уверен, как выполнить преобразование ,Как выполнить XSLT с несколькими входными файлами и одним выходным файлом

Синтаксис ниже работает, если оба источника uri и выходные uri являются каталогами, но это не работает, если исходный uri является каталогом, а выход uri является именем файла.

Я не думаю, что пробелы в ури - проблема. Синтаксис ниже работает для меня, при условии, что uris находится в кавычках (и при условии, что источником и выходом являются имена файлов или обе каталоги).

Я использую процессор Saxon HE, но я готов использовать другой инструмент, если это необходимо.

java -jar c: \ saxon \ saxon9he.jar -s: "C: \ Temp \ 2011 Valid XML" -o: "C: \ Temp \ LookupTables.xml" -xsl: "C: \ Temp \ LookupTables.xsl»

ответ

1

Ну таблицы стилей необходимо принять во внимание вклад, например, с помощью функции collectionhttp://www.saxonica.com/documentation/index.html#!sourcedocs/collections

<xsl:template name="main"> 
    <root> 
    <xsl:apply-templates select="collection('file:///C:Temp/dir?select=*.xml')/*"/> 
    </root> 
</xsl:template> 

, а затем запустить Saxon с опцией -it:main командной строки для запуска с шаблоном main, который извлекает все файлы *.xml в этом каталоге.

Вы, конечно же, должны убедиться, что при обработке шаблонов обрабатываются и преобразуются узлы в файлы по мере необходимости, но поскольку вы не представили какой-либо пример структуры XML, мы не можем предложить вам помочь в этом.

+0

Спасибо, теперь XSLT выполняется. Теперь я получаю сообщение об ошибке, что запрошенный шаблон «main» не существует, но я расскажу об этом в отдельный вопрос. – b00kgrrl

Смежные вопросы