File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<volume name="Old Testament">
<book name="Java">
<chapter location="Java1.xml" />
<chapter location="Java2.xml" />
<chapter location="Java3.xml" />
<chapter location="Java4.xml" />
</book>
</volume>
File: Transform.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match="volume">
<xsl:copy>
<xsl:attribute name="name"><xsl:value-of select="@name" />
</xsl:attribute>
<xsl:apply-templates select="book" />
</xsl:copy>
</xsl:template>
<xsl:template match="book">
<xsl:copy>
<xsl:attribute name="name"><xsl:value-of select="@name" />
</xsl:attribute>
<xsl:apply-templates select="chapter" />
</xsl:copy>
</xsl:template>
<xsl:template match="chapter">
<xsl:copy-of select="document(@location)" />
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?>
<volume name="Old Testament">
<book name="Java"/>
</volume>
|