Search code examples
xsltxml-parsingstax

merge multiple XML files using STAX parser


I have multiple XML files.all nodes are similar. Please provide an example how to merge XML files using STAX Parser and apply a stylesheet on it.


Solution

  • If you want to apply XSLT to several XML documents then (with pure XSLT, I don't know about Stax) you can simply use the document function (XSLT 1.0 and 2.0) or the collection function (with XSLT 2.0) e.g.

    <xsl:template match="/">
      <root>
        <xsl:apply-templates select="document('file1.xml')/* | document('file2.xml')/* | document('file3.xml')/*"/>
      </root>
    </xsl:template>
    

    then add templates matching the element names in the documents you want process.