Hi,
I have data like this and I am processing using template toolkit, actually
i am processing xml file using XML::Simple and after that I got this data.
$var1={

      'studentaddres'=>{
                     'address'=>[
                                {
                               'name'=>'mikky',
                               'number'=>'12',
                               'adress'=>' badvel,kadapa,a.p,india',
                                },

                               {
                               'name'=>'vijju',
                               'number'=>'12',
                               'adress'=>' raipur,ananthapur,a.p,india',
                                },

                               {
                               'name'=>'shyam',
                               'number'=>'12',
                               'adress'=>' raighad,rajsthan,india',
                                },
                              ],

                     'Subjects'=>[
                                 {
                                  'subjects'=>'7',
                                  'names'=>'EDC,PDc,OS,CN,ITNM,CDS,ENGLISH',
                                  }
                                  {
                                  'subjects'=>'3',
                                  'names'=>'EDC,CDS,ENGLISH',
                                  }
                                 {
                                  'subjects'=>'2',
                                  'names'=>'EDC,PDc',
                                  }
                                 {
                                  'subjects'=>'5',
                                  'names'=>'EDC,PDc,OS,CN,ITNM',
                                  }
                                 ],
                               }

        'university'=>{
           'name'=>'svu',
           'location'=>'ravru',
            'branch'=>{
                     'electronics'=>{
                                'student'=>[
                                         {
                                        'name'=>'mikky',
                                         'number'=>'12',
                                           'semester'=>{
                                                  'Number'=>'1',
                                                  'subjects'=>'7',
                                                   'rank'=>'1'
                                                  }
                                               },
                                       {
                                        'name'=>'vijju',
                                         'number'=>'15',
                                           'semester'=>[
                                                {
                                               'number'=>'1',
                                                'subjects'=>'3',
                                                 'rank'=>'10'
                                                  },
                                                 {
                                                'number'=>'1',
                                                'subjects'=>'2',
                                                 'rank'=>'1'
                                                  }
                                                 ]
                                               },
                                            ]
                                          }
                                         }
                                       };

             'name'=>'sku',
             'location'=>'ANTP',
            'branch'=>{
               'electronics'=>{
                          'student'=>[
                                     {
                                     'name'=>'shyam',
                                     'number'=>'12',
                                       'semester'=>{
                                                'Number'=>'3',
                                                'subjects'=>'5',
                                                'rank'=>'20'
                                                  }
                                               },

                                             ]
                                           }

                                         }
                                       };

I written some script using template toolkit to genarate pdf file using
pdflatex compiler.
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
use XML::Simple;
use XML::Fast;
use Template;

my $xml = new XML::Simple;
my $data = $xml->XMLin("data.xml", ForceArray =>['student','semester'],);

#print Dumper($data);
my $template = Template->new();
my $filename = 'output1.tex';
$template->process(\*DATA, $data, $filename)
    || die "Template process failed: ", $template->error(), "\n";
 system( "pdflatex $filename" );
__DATA__

\documentclass[a4paper,leqno,twoside]{article}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage{multirow}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{color}
\usepackage[colorlinks=true]{hyperref}
\begin{document}
[% USE dumper(indent=1, pad="") %]
[% FOREACH st IN university %]
[% st.name %]
[%st.location%]
studentdata:
[% FOREACH student IN st.branch.electronics.student %]
Component type: [%+ student.name +%][%+ student.number +%]
      [% FOREACH semester IN student.semester %]
  [%+ semester.number +%]
  [%+ semester.subjects +%]
  [%+  semester.rank +%]
    [% END %]
 [% END %]
[% END %]
using above I am printing like this in pdf

name:
svu
location:
ravru
student data:
      student name=mikky  number=12
     semester number=1 subjects=7 rank=2

       student name=vijju  number=15
    semester number=1 subjects=3 rank=10
    semester number=2 subjects=2 rank=1
name:
 sku
location:
   ANTP
 student name=shyam  number=12
    semester number=1 subjects=5 rank=2

Now my problem If student name=mikky and number=12 then i need to search in
the studentaddress elements and also for subjects and if I found student
name and print his addresslike this.

 student data name=mikky number=12     address= badvel,kadapa,a.p,india.
 same like subjects also
  semester number=1 subjects=7 rank=2
 subjects=EDC,PDc,OS,CN,ITNM,CDS,ENGLISH.

I need to print like this for all students in all universitys.help me with
this problem.
_______________________________________________
templates mailing list
[email protected]
http://mail.template-toolkit.org/mailman/listinfo/templates

Reply via email to