Mercurial > hg > lukkari
changeset 58:119f0cef6498
Work on XML output support (not finished yet.)
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 24 Oct 2012 01:30:37 +0300 |
parents | 93c87f42c803 |
children | aa201ddd33dd |
files | parsedata.pl |
diffstat | 1 files changed, 34 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/parsedata.pl Wed Oct 24 01:18:45 2012 +0300 +++ b/parsedata.pl Wed Oct 24 01:30:37 2012 +0300 @@ -455,8 +455,42 @@ " <maxdays>$maxDays</maxdays>\n". " <firsthour>$firstHour</firsthour>\n". " <lasthour>$lastHour</lasthour>\n". + " <totalhours>$totalHours</totalhours>\n". " </class>\n"; + print " <hours>\n"; + foreach my $chour (@$hourTimes) { + print " <hour><start>".$$chour{"start"}."</start><end>".$$chour{"end"}."</end></hour>\n"; + } + print " </hours>\n\n"; + + print " <classes>\n"; + foreach my $cid (sort { $a <=> $b } keys %{$hourDefs}) { + print " <class id=\"$cid\" "; + foreach my $key (keys %{$$hourDefs{$cid}}) { + my $a = $$hourDefs{$cid}{$key}; + if (ref($a) eq "ARRAY") { + print "<$key>".join("", map { "\"".escape($_)."\""; } @$a)."</$key>"; + } + elsif ($a =~ /^\d+$/) { + print "$key=\"".$a."\" "; + } else { + print "$key=\"".escape($a)."\" "; + } + } + print " </class>\n"; + } + print " </classes>\n\n"; + + print " <days>\n"; + for (my $y = 0; $y < $maxDays; $y++) + { + if (defined($$hourTable{$y})) + { + print " <day id=\"$y\">".join("", map { "<class>".$_."</class>" } @{$$hourTable{$y}})."</day>\n"; + } + } + print " </days>\n"; print "</timetable>\n"; }