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"); my @MappletNode = $MpltXml->findnodes('//MAPPLET'); my @TargetNode = $TargetXml->findnodes('//FOLDER'); #my $TargetRootNode = $TargetXml->findnodes('/POWERMART'); my $TargetRootNode = $TargetXml->getDocumentElement; #$TargetXml->setDocumentElement( '/POWERMART/REPOSITORY/FOLDER' ); for my $TgtNode (@TargetNode) { for my $node (@MappletNode) { $TgtNode->addChild( $node ); $TgtNode->setOwnerDocument( $TargetXml ); #$MpltXml->toFile($OutFileName); print "The Value is $TgtNode"; } } } } close(GET_MAPPLET_LIST); }