From: Kirrily R. <sk...@us...> - 2001-09-23 17:35:42
|
Update of /cvsroot/formmagick/formmagick/lib/CGI In directory usw-pr-cvs1:/tmp/cvs-serv14889 Modified Files: FormMagick.pm Log Message: I added a clean_xml() routine that cleans up the parsed XML and makes it *much* more manageable. Index: FormMagick.pm =================================================================== RCS file: /cvsroot/formmagick/formmagick/lib/CGI/FormMagick.pm,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -r1.50 -r1.51 *** FormMagick.pm 2001/09/22 07:13:18 1.50 --- FormMagick.pm 2001/09/23 17:35:39 1.51 *************** *** 179,183 **** } ! $self->{xml} = $self->parse_xml(); # figure out what language we're using --- 179,184 ---- } ! $self->{xml} = $self->parse_xml(); ! $self->{clean_xml} = $self->clean_xml(); # figure out what language we're using *************** *** 551,554 **** --- 552,585 ---- } return $xml; + } + + =head2 clean_xml() + + Cleans up the output of parse_xml() and returns it as a nicer, more + usable data structure. + + =cut + + sub clean_xml { + my $self = shift; + my @pages; + + for (my $i = 4; $i < scalar(@{$self->form()}); $i += 4) { + my $page = $self->form()->[$i][0]; + my @fields; + for (my $j = 4; $j < scalar(@{$self->form()->[$i]}); $j += 4) { + my $field = $self->form()->[$i]->[$j]->[0]; + push @fields, $field; + } + $page->{FIELDS} = \@fields; + push @pages, $page; + } + + my $clean = { + form => $self->form()->[0], + pages => \@pages, + }; + + return $clean; } |