#!/usr/bin/perl sub fix_underscore { $str = shift; $str =~ tr/_/-/; return $str; }; sub strip_emph { $str = shift; $str =~ s{(.+?)} {$1}gs; return $str; }; $data = join "", ; print STDERR "Changing @@ to @...\n"; $data =~ s/@@/@/gs; print STDERR "Changing '_' to '-' in references...\n"; $data =~ s{id=\"(.+?)\"} {"id=\"".&fix_underscore($1)."\""}gsex; $data =~ s{linkend=\"(.+?)\"} {"linkend=\"".&fix_underscore($1)."\""}gsex; print STDERR "Changing ULINK to SYSTEMITEM...\n"; $data =~ s{} {$1}gs; print STDERR "Removing INFORMALFIGURE...\n"; $data =~ s{(.+?)} {}gs; print STDERR "Adding PARA inside ENTRY...\n"; $data =~ s{(.*?)} {$1}gs; print STDERR "Removing mailto: from email addresses...\n"; $data =~ s{mailto:} {}gs; print STDERR "Fixing spacing problem with titles...\n"; $data =~ s{(\w{2,})} { $2}gs; # 2002-02-15 arjen@mysql.com print STDERR "Adding closing / to XREF...\n"; $data =~ s{} {}gs; # 2002-01-30 arjen@mysql.com print STDERR "Removing COLSPEC...\n"; $data =~ s{\n *} {}gs; # 2002-01-31 arjen@mysql.com print STDERR "Making first row in table THEAD...\n"; $data =~ s{([ ]*)\n([ ]*(.+?))} {$1\n$2\n$1\n$1}gs; # 2002-01-31 arjen@mysql.com print STDERR "Removing EMPHASIS inside THEAD...\n"; $data =~ s{(.+?)} {"".&strip_emph($1).""}gsex; # 2002-01-31 arjen@mysql.com print STDERR "Removing lf before /PARA in ENTRY...\n"; $data =~ s{((.+?))\n()} {$1$3}gs; # 2002-01-31 arjen@mysql.com (2002-02-15 added \n stuff) print STDERR "Removing whitespace before /PARA if not on separate line...\n"; $data =~ s{([^\n ])[ ]+} {$1}gs; # 2002-01-31 arjen@mysql.com print STDERR "Removing empty PARA in ENTRY...\n"; $data =~ s{} {}gs; # 2002-01-31 arjen@mysql.com print STDERR "Removing PARA around INDEXENTRY if no text in PARA...\n"; $data =~ s{(((<(primary|secondary)>[^<]+?)+?)+?)[\n]*[\n]*} {$1\n}gs; # ----- @apx = ("Users", "MySQL Testimonials", "News", "GPL-license", "LGPL-license"); foreach $apx (@apx) { print STDERR "Removing appendix $apx...\n"; $data =~ s{(.+?)} {}gs; print STDERR " ... Building list of removed nodes ...\n"; foreach(split "\n", $&) { push @nodes, $2 if(/<(\w+) id=\"(.+?)\">/) }; }; print STDERR "Fixing references to removed nodes...\n"; foreach $node (@nodes) { $web = $node; $web =~ s/[ ]/_/; $web = "http://www.mysql.com/doc/" . (join "/", (split //, $web)[0..1])."/$web.html"; print STDERR "$node -> $web\n"; $data =~ s{<(\w+) linkend=\"$node\">} {$web}gs; }; print STDOUT $data;