/[suikacvs]/test/html-whatpm/parser-manakai.cgi
Suika

Diff of /test/html-whatpm/parser-manakai.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by wakaba, Mon Jun 25 00:15:12 2007 UTC revision 1.5 by wakaba, Sun Jul 15 07:53:00 2007 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl -d:DProf  #!/usr/bin/perl
2  use strict;  use strict;
3    
4  use lib qw[/home/httpd/html/www/markup/html/whatpm  use lib qw[/home/httpd/html/www/markup/html/whatpm
# Line 28  shift @mode if @mode and $mode[0] == ''; Line 28  shift @mode if @mode and $mode[0] == '';
28    my $time2;    my $time2;
29    
30    require Message::DOM::DOMImplementation;    require Message::DOM::DOMImplementation;
31    my $dom = Message::DOM::DOMImplementation->____new;    my $dom = Message::DOM::DOMImplementation->new;
32  #  $| = 1;  #  $| = 1;
33    my $doc;    my $doc;
34    my $el;    my $el;
# Line 54  if (@mode == 3 and $mode[0] eq 'html' an Line 54  if (@mode == 3 and $mode[0] eq 'html' an
54    };    };
55    
56    $doc = $dom->create_document;    $doc = $dom->create_document;
57      $doc->manakai_is_html (1);
58    $time1 = time;    $time1 = time;
59    if (length $mode[1]) {    if (length $mode[1]) {
60      $el = $doc->create_element_ns      $el = $doc->create_element_ns
# Line 70  if (@mode == 3 and $mode[0] eq 'html' an Line 71  if (@mode == 3 and $mode[0] eq 'html' an
71    my $out;    my $out;
72    if ($mode[2] eq 'html') {    if ($mode[2] eq 'html') {
73      $time1 = time;      $time1 = time;
74      $out = Whatpm::HTML->get_inner_html ($el || $doc);      $out = \( ($el or $doc)->inner_html );
75      $time2 = time;      $time2 = time;
76      $time{serialize_html} = $time2 - $time1;      $time{serialize_html} = $time2 - $time1;
77    } else { # test    } else { # test
# Line 107  if (@mode == 3 and $mode[0] eq 'html' an Line 108  if (@mode == 3 and $mode[0] eq 'html' an
108    
109    my $out;    my $out;
110    if ($mode[2] eq 'html') {    if ($mode[2] eq 'html') {
111      ## TODO: Use XHTML serializer      $time1 = time;
112      #$out = Whatpm::HTML->get_inner_html ($doc);      $out = \( $doc->inner_html ); ## TODO: $el case
113        $time2 = time;
114        $time{serialize_xml} = $time2 - $time1;
115      } else { # test
116        $time1 = time;
117        $out = test_serialize ($doc);
118        $time2 = time;
119        $time{serialize_test} = $time2 - $time1;
120      }
121      print STDOUT Encode::encode ('utf-8', $$out);
122      print STDOUT "\n";
123    } elsif (@mode == 3 and $mode[0] eq 'h2h' and $mode[1] eq '' and
124             ($mode[2] eq 'html' or $mode[2] eq 'test')) {
125      print STDOUT "Content-Type: text/plain; charset=utf-8\n\n";
126    
127      require Encode;
128      $time1 = time;
129      $s = Encode::decode ('utf-8', $s);
130      $time2 = time;
131      $time{decode} = $time2 - $time1;
132    
133      require Whatpm::H2H;
134      $doc = $dom->create_document;
135      Whatpm::H2H->parse_string ($s => $doc);
136    
137      print "#document\n";
138    
139      my $out;
140      if ($mode[2] eq 'html') {
141        $time1 = time;
142        $out = \( $doc->inner_html );
143        $time2 = time;
144        $time{serialize_xml} = $time2 - $time1;
145    } else { # test    } else { # test
146      $time1 = time;      $time1 = time;
147      $out = test_serialize ($doc);      $out = test_serialize ($doc);

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24