/[suikacvs]/test/html-webhacc/mkdescription.pl
Suika

Diff of /test/html-webhacc/mkdescription.pl

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

revision 1.1 by wakaba, Sun Jul 1 10:02:24 2007 UTC revision 1.2 by wakaba, Mon Jul 16 08:38:48 2007 UTC
# Line 11  my $SRC_NS = q<http://suika.fam.cx/~waka Line 11  my $SRC_NS = q<http://suika.fam.cx/~waka
11  my $XML_NS = q<http://www.w3.org/XML/1998/namespace>;  my $XML_NS = q<http://www.w3.org/XML/1998/namespace>;
12    
13  require Message::DOM::DOMImplementation;  require Message::DOM::DOMImplementation;
14  my $dom = Message::DOM::DOMImplementation->____new;  my $dom = Message::DOM::DOMImplementation->new;
15    
16  my $doc;  my $doc;
17  {  {
# Line 21  my $doc; Line 21  my $doc;
21    require Message::DOM::XMLParserTemp;    require Message::DOM::XMLParserTemp;
22    $doc = Message::DOM::XMLParserTemp->parse_byte_stream    $doc = Message::DOM::XMLParserTemp->parse_byte_stream
23        ($source_file => $dom, undef, charset => 'utf-8');        ($source_file => $dom, undef, charset => 'utf-8');
24      $doc->manakai_is_html (1);
25  }  }
26    
27  my $target_lang = 'en';  my $target_lang = 'en';
# Line 34  while (@node) { Line 35  while (@node) {
35            $node->parent_node->remove_child ($node);            $node->parent_node->remove_child ($node);
36          }          }
37        } else {        } else {
38          push @node, @{$node->child_nodes};          unshift @node, @{$node->child_nodes};
39        }        }
40      } elsif ($node->namespace_uri eq $SRC_NS) {      } elsif ($node->namespace_uri eq $SRC_NS) {
41        if ($node->manakai_local_name eq 'item') {        if ($node->manakai_local_name eq 'item') {
# Line 63  while (@node) { Line 64  while (@node) {
64    
65          my $name = $node->get_attribute_ns (undef, 'name');          my $name = $node->get_attribute_ns (undef, 'name');
66          $name =~ tr/ /-/;          $name =~ tr/ /-/;
67            my $level = $node->get_attribute_ns (undef, 'level');
68            $name = $level . ':' . $name if defined $level;
69          my $section = $doc->create_element_ns ($HTML_NS, 'div');          my $section = $doc->create_element_ns ($HTML_NS, 'div');
70          $section->set_attribute_ns          $section->set_attribute_ns
71              (undef, class => 'section ' .              (undef, class => 'section ' .
# Line 74  while (@node) { Line 77  while (@node) {
77              ($doc->create_element_ns ($HTML_NS, 'h3'));              ($doc->create_element_ns ($HTML_NS, 'h3'));
78          $msg->append_child ($_) for @message_child;          $msg->append_child ($_) for @message_child;
79    
80          my @desc_child = @{$desc->child_nodes};          if ($desc) {
81          $section->append_child ($_) for @desc_child;            my @desc_child = @{$desc->child_nodes};
82              $section->append_child ($_) for @desc_child;
83            }
84    
85          $node->parent_node->insert_before ($section, $node);          $node->parent_node->insert_before ($section, $node);
86          $node->parent_node->remove_child ($node); ## TODO: replace_child is not yet implemented          $node->parent_node->remove_child ($node); ## TODO: replace_child is not yet implemented
87          } elsif ($node->manakai_local_name eq 'catalog') {
88            #
89        } else {        } else {
90          warn "$0: ", $node->manakai_local_name, " is not supported\n";          warn "$0: ", $node->manakai_local_name, " is not supported\n";
91        }        }
# Line 87  while (@node) { Line 94  while (@node) {
94  }  }
95  $doc->document_element->set_attribute_ns (undef, lang => $target_lang);  $doc->document_element->set_attribute_ns (undef, lang => $target_lang);
96    
97  require Whatpm::HTML;  print $doc->inner_html;
 print ${ Whatpm::HTML->get_inner_html ($doc) };  

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24