2014-10-27 2 views
0

У меня есть несколько XML-файлов. Все узлы похожи. Просьба привести пример объединения файлов XML с помощью STAX Parser и применить к нему таблицу стилей.слияние нескольких XML-файлов с использованием анализатора STAX

+0

Как этот вопрос связан с [другим вашим вопросом] (http://stackoverflow.com/questions/26512015/merge-two-or-more-xml-files-and-display-as-html-using- XSLT)? –

+0

Я попытался выполнить это требование по таблице стилей. Но позже решил использовать анализатор STAX, потому что каждый раз имена файлов будут меняться. – user2779221

ответ

0

Если вы хотите применить 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> 

затем добавить шаблоны, соответствующие именам элементов в документах, которые вы хотите обработать.

+0

Это работает для фиксированных имен файлов. но мой вариант использования отличается, имена файлов будут меняться в зависимости от заданий, которые мы будем запускать. – user2779221

+0

Если вы используете процессор XSLT 2.0, такой как Saxon 9, то вы можете использовать функцию 'collection' для загрузки файлов из каталога или папки. Сообщите нам, подходит ли это вам. –

+0

Спасибо. Это работает для меня. Пожалуйста, дайте полный пример, если это возможно. – user2779221