help me with template toolkit script

veeru reddy <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.template-toolkit
Message-ID <CA+JyuYUZu-FT5Fgwr8VNNYiUrmDny+oe8NXJVjwDA1umuqOp6g@mail.gmail.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.