my $OutXmlFile = IO::File->new(">$OutFileName"); my $writer = XML::Writer->new(OUTPUT => $OutXmlFile,DATA_MODE=>1,DATA_INDENT=>5); #### sub GetMappletList { my $Target_node; my ($TableNm,$ColumnNm,$DomainNm,$AlgoNm); my @MaskingAlgorithmList; my @MappletNode; my $MpltRefFile_Dir = shift; my $MappletXmlName; open GET_MAPPLET_LIST, "<","$Profiler_Dir/$MpltRefFile_Dir/Inventory.rpt" or die "ERROR : Couldn't Open $Profiler_Dir/$MpltRefFile_Dir/Inventory.rpt $!"; while (my $InvtoryCol = ) { chomp $InvtoryCol; ($TableNm,$ColumnNm,$DomainNm,$AlgoNm) = split(/,/,$InvtoryCol); if ($TableNm =~ /$SourceTableName/) { print " The Workflow xml nme is $OutFileName\n"; $MappletXmlName = "$Mapplet_Dir/$AlgoNm.XML"; print "The Dir name is $MappletXmlName\n"; my $MpltParser = XML::LibXML->new(); my $TargetXml = $MpltParser->parse_file("$OutFileName"); my $MpltXml = $MpltParser->parse_file("$MappletXmlName"); $SourceRoot= $MpltXml->documentElement(); my @SourceNode = $MpltXml->findnodes("//MAPPLET"); my $SourceRootNode = $SourceNode[0]; $TargetXml->setDocumentElement( '/POWERMART/REPOSITORY/FOLDER' ); #$TargetXml->setDocumentElement( '/POWERMART/REPOSITORY/FOLDER' ); $TargetXml->adoptNode($SourceRootNode); #$TargetXml->adoptNode('/POWERMART/REPOSITORY/FOLDER/MAPPLET'); my $TargetContent = $TargetXml->addChild($SourceRootNode); print $TargetContent; } } close(GET_MAPPLET_LIST); }