aspose file tools*
The moose likes XML and Related Technologies and the fly likes Tranformning multiple XML docs to a single XML doc Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "Tranformning multiple XML docs to a single XML doc" Watch "Tranformning multiple XML docs to a single XML doc" New topic
Author

Tranformning multiple XML docs to a single XML doc

Christian Schnepf
Greenhorn

Joined: Sep 25, 2001
Posts: 28
Good morning,
I have need to take two xml documents and run them through a single xsl document to produce a single xml document.
I am currently using xalan to do single xml document transformation, but do not see anything about multiples. Should I be looking to a different set of classes?
TIA
Balaji Loganathan
author and deputy
Bartender

Joined: Jul 13, 2001
Posts: 3150
Since your are converting using XSL, you can try using document() function which could help you load external xml document.
Here a sample that I cut and pasted from another site.
Two xml files
file 1
<fa>
<a name="a1">3</a>
<a name="a2">5</a>
<a name="a3">2</a>
<a name="new">1</a>
</fa>
file 2
<fb>
<a name="a1">1</a>
<a name="a3">1</a>
<a name="a4">2</a>
</fb>
required output
<res>
<a name="a1">4</a>
<a name="a2">5</a>
<a name="a3">3</a>
<a name="a4">2</a>
<a name="new">1</a>
</res>
xsl file:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"><xsl utput method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="document('dp-f1.xml')/fa/a|
document('dp-f2.xml')/fb/a[not(@name=document('dp-f1.xml')/fa/a/@name)]">
<xsl:sort select="@name"/><a name="{@name}">
<xsl:value-of select="sum(document('dp-f1.xml')/fa/a[@name=current()/@name]|
document('dp-f2.xml')/fb/a[@name=current()/@name])"/>
</a>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


Spritle Software Blogs
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Tranformning multiple XML docs to a single XML doc