I have a well formed XML that I need to modify.
My input file looks like this.
I used a XSL transformation to get my desired output, but it came with a slightly different output file.Code:<?xml version="1.0"?> <Root> <VOBaseCollection> <VOUploadPackage> <VOPartyContainer> ...blah </VOPartyContainer> </VOUploadPackage> <VOPartyContainer> ...blah </VOPartyContainer> <VOUploadPackage> ...blah </VOUploadPackage> </VOBaseCollection> </Root>
This is my XSL transformation.
Code:<?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" /> <xsl:template match="/"> <Root BatchUploadType="Party"> <VOUploadBatch> <UploadPackages> <VOBaseCollection> <VOUploadPackage> <xsl:apply-templates select="Root/VOBaseCollection/VOUploadPackage/VOPartyContainer" /> </VOUploadPackage> </VOBaseCollection> </UploadPackages> </VOUploadBatch> </Root> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()" /> </xsl:copy> </xsl:template> </xsl:stylesheet>
My desired output should like this.
Code:<?xml version="1.0"?> <Root BatchUploadType="Party"> <VOUploadBatch> <UploadPackages> <VOBaseCollection> <VOUploadPackage> <VOPartyContainer> blah </VOPartyContainer> </VOUploadPackage> <VOUploadPackage> <VOPartyContainer> blah </VOPartyContainer> </VOUploadPackage> </VOBaseCollection> </UploadPackages> </VOUploadBatch> </Root>
However after applying the transformation, it looks like this.What changes do I need to make in my XSL to get it transformed correctly?Code:<?xml version="1.0"?> <Root BatchUploadType="Party"> <VOUploadBatch> <UploadPackages> <VOBaseCollection> <VOUploadPackage> <VOPartyContainer> </VOPartyContainer> <VOPartyContainer> </VOPartyContainer> </VOUploadPackage> </VOBaseCollection> </UploadPackages> </VOUploadBatch> </Root>
I do not wish to lose the <VOUploadBatch> tag




Reply With Quote
