У меня есть несколько XML-файлов. Все узлы похожи. Пожалуйста, приведите пример, как объединить XML-файлы с помощью STAX Parser и применить к нему таблицу стилей.
объединить несколько файлов XML с помощью синтаксического анализатора STAX
comment
Как этот вопрос связан с другим вопросом твой?
- person Mathias Müller   schedule 27.10.2014
comment
Я пытался выполнить это требование с помощью таблицы стилей. Но позже решил использовать анализатор STAX, потому что каждый раз имена файлов будут меняться.
- person user2779221   schedule 30.10.2014
Ответы (1)
Если вы хотите применить XSLT к нескольким документам XML, тогда (с чистым XSLT, я не знаю о Stax), вы можете просто использовать функцию document
(XSLT 1.0 и 2.0) или функцию collection
(с XSLT 2.0), например.
<xsl:template match="/">
<root>
<xsl:apply-templates select="document('file1.xml')/* | document('file2.xml')/* | document('file3.xml')/*"/>
</root>
</xsl:template>
затем добавьте шаблоны, соответствующие именам элементов в документах, которые вы хотите обработать.
person
Martin Honnen
schedule
27.10.2014
Это работает для фиксированных имен файлов. но мой вариант использования отличается, имена файлов будут меняться в зависимости от задания, которое мы собираемся запустить.
- person user2779221; 30.10.2014
Если вы используете процессор XSLT 2.0, такой как Saxon 9, вы сможете использовать функцию
collection
для загрузки файлов из каталога или папки. Дайте нам знать, подходит ли вам этот вариант.
- person Martin Honnen; 30.10.2014
Спасибо. Это работает для меня. Пожалуйста, дайте мне полный пример, если это возможно.
- person user2779221; 04.11.2014
Я выполняю очень похожее действие, похожее на то, что делает спрашивающий... Любопытно, как к этому подойти.
- person rmarq423; 13.02.2015